BlackBerry 用户界面开发实例--BlackBerry 编程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

BlackBerry用户界面开发实例作者:杨江目录概述.............................................................................................................................................31准备开发环境..........................................................................................................................42创建主从共两个窗口(Screen);创建菜单为主从窗口进行之间进行导航........................93为主窗口添加可以滚动显示和动态绑定数据的高级字段ListField..................................144为从窗口添加显示和输入字段;使用布局管理器处理UI布局,背景色.......................175处理黑莓手机的返回键(Return),轨迹球(TrackBall)事件,输入字段数据变化等事件..206配置模拟器中文显示,单步跟踪调试................................................................................217OTA应用部署........................................................................................................................238后记........................................................................................................................................27概述本文通过一个办公审批的应用案例,介绍如何使用BlackBerryUIAPI为用户在黑莓手机开发用户界面程序,如何使用UI组件(Screen,Manager,Field),如何扩展高级UI组件ListField,如何通过菜单/按钮/按键来响应用户交互,如何通过布局管理器Manager来处理特殊的UI布局和显示效果,最后通过OTA无线部署这个应用到用户的黑莓手机设备上。面向对象:对黑莓手机应用开发感兴趣,对黑莓应用开发稍有了解但是还没有实战经验,希望能对BlackBerryUI开发有个更深入的了解。目标:在本文的办公审批的应用案例中,企业客户要求开发一个运行在黑莓手机上面的用于办公申请和批准的应用程序,让移动办公的用户和他们的领导能及时地提交/查看/审批办公申请。应用程序的主要用户窗口有两个:1.等待审批的办公申请记录列表,用户可以通过菜单新建,保存,查看,删除申请记录;2.查看每条申请记录的详情信息,领导可以查看,通过,或者拒绝该申请。要点:1.准备开发环境,创建新的BlackBerry项目,创建最简单的UI应用程序HelloWorld,在开发环境中内置的黑莓9700模拟器中运行。2.创建主从共两个窗口(Screen);创建菜单为主从窗口进行之间进行导航。3.为主窗口添加可以在列表中滚动显示数据的高级字段ListField,该字段和待审批的申请记录列表进行数据绑定。为从窗口添加显示和输入字段(Field),命令按钮。使用布局管理器处理UI布局,背景色。5.处理黑莓手机的返回键(Return),轨迹球(TrackBall)事件,输入字段数据变化等事件。6.配置模拟器中文显示,单步跟踪调试。7.OTA应用部署,为不同OS版本的手机8300/9700分别打包应用程序为jad/alx包,架设OTA部署服务器,为8300/9700手机自动部署对应OS版本的程序。8.后记。对读者的前提要求:要求读者对BlackBerry平台/BlackBerryUIAPI/Java语言都稍有了解。建议读者可以浏览附录头三个网站,特别是“开发人员教程-RIM开发人员教程”以快速获得相关基本知识。1准备开发环境准备开发环境,创建新的BlackBerry项目,创建最简单的UI应用程序HelloWorld,在开发环境中内置的黑莓9700模拟器中运行。1.1准备开发环境,下载并安装BlackBerryJavaPlug-inforEclipse开发工具本文使用的BlackBerryJavaPlug-inforEclipse版本为:v1.1beta2(1.1.1),相对于JDE该工具简称eJDE。eJDE1.1.1内置eclipse3.5.1。eJDE1.1.1内置BlackBerryJavaSDKversion5.0.0。而BlackBerryJavaSDK里面又包括MDS模拟器,手机模拟器simulator,例子代码samples,文档docs等内容。(下载地址:)1.2创建BlackBerryProject启动Eclipse,FileNewOther,选择BlackBerryProject,填写Projectname为UISample,选择JRE-UseaprojectspecificJRE为BlackBerryJRE5.0.0,点击Finish按钮创建项目。注:向导中的BlackBerryJRE5.0.0对应BlackBerryJavaSDKversion5.0.0,后者内置采用BlackBerryOS5.0.0的黑莓9000/9550/9700手机模拟器。如果需要开发测试针对黑莓8310等其他型号手机的应用程序,你可以通过eclipse在线更新的方式安装4.2.1/4.5/4.6/4.7等版本的BlackBerryJavaSDK,比如SDKversion4.5内置黑莓8310手机模拟器。具体如何通过eclipse在线升级请参考网站。1.3导入HelloWorld例子代码把开发工具内置的例子代码helloworlddemo导入到项目src目录。BlackBerry开发工具带了几十个例子程序在C:\TOOLS\BlackBerry_JDE_PluginFull_1.1.1\plugins\net.rim.ejde.componentpack5.0.0_5.0.0.14\components\samples目录下面。把com\rim\samples\device\helloworlddemo目录(包括com\rim\samples\device等父目录,Java代码和png图片)拷贝到项目src目录下面。文件,在第一个栏目(Application栏目)的右边Applicationicons区域点击Add按钮,选择src\com\rim\samples\device\helloworlddemo\image\helloworld_jde.png文件,保存。1.5在开发工具内置的模拟器中测试HelloWorld应用鼠标点击eclipse菜单Run-RunConfigurations,在对话框中点击左上角的按钮,创建新的模拟器配置环境;修改Name为UISample;在对话框右边第一个栏目Projects栏目中勾上UISample项目;在对话框右边第三个栏目Simulator栏目中Device区域选择带qwert键盘的黑莓9700手机(缺省的模拟器是黑莓9550Storm2,这款手机不带qwert键盘,该型号模拟器不是特别方便在PC机屏幕上操作);点击Run命令按钮运行。在手机模拟器上运行HelloWorld运行在手机模拟器Downloads文件夹中,你可以看到HelloWorld演示程序的图标,运行这个程序。运行结果如图。创建主从共两个窗口(Screen);创建菜单为主从窗口进行之间进行导航下面我们将创建主从共两个窗口(Screen),一个是初始的申请记录列表窗口,一个是申请记录详细内容。提示:黑莓手机上面最重要的用户界面就是Screen。每个Screen上面可以可以摆放/显示字段Field(比如文本,日期,按钮等等),每个Screen都有缺省或者指定的布局管理器Manager,Manager控制Field在Screen上面的摆放布局。最常用的两个Screen是MainScreen和Dialog,MainScreen顾名思义是主窗口了,Dialog用来和用户做提问/回答/选择等形式的简单交互。2.1首先大幅度简化HelloWorld主程序的代码在main()方法中构造HelloWorldDemo对象,在HelloWorldDemo构造方法中构造并通过pushScreen()方法显示MessagesListViewScreen主窗口。窗口类。为这个主窗口类编写构造类,添加makeMenu()方法和close()方法。在构造方法中创建扩展了ListField类和实现了ListFieldCallback接口的MessagesListField列表显示类MessagesListField,该列表将显示所有待审批,已经审批通过或者被拒绝的审批项目列表。makeMenu()方法是MessagesListViewScreen父类MainScreen的方法,用来为当前窗口创建菜单。这里我们用makeManu()生成一个菜单“新建”。当用户点击这个菜单,程序会创建一个MessageViewScreen窗口对象,然后pushScreen()把MessageViewScreen窗口push推到显示窗口堆栈的最上面,在手机上面显示出来。close()方法是MessagesListViewScreen父类MainScreen的父类Screen的方法,通过Dialog.ask()对话框询问用户是确认要关闭程序,进而决定是否调用super.close()方法来关闭主程序。/**BlackBerryapplicationsthatprovideauserinterfacemustextend*UiApplication.*/publicclassHelloWorldDemoextendsUiApplication{/***Entrypointforapplication*@paramargsCommandlinearguments(notused)*/publicstaticvoidmain(String[]args){//Createanewinstanceoftheapplication.HelloWorldDemotheApp=newHelloWorldDemo();//Makethecurrentlyrunningthreadtheapplication'sevent//dispatchthreadandbeginprocessingevents.theApp.enterEventDispat

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功