收藏 分享(赏)

01手机客户端系统的设计与开发.ppt

上传人:无敌 文档编号:302778 上传时间:2018-03-26 格式:PPT 页数:67 大小:1.60MB
下载 相关 举报
01手机客户端系统的设计与开发.ppt_第1页
第1页 / 共67页
01手机客户端系统的设计与开发.ppt_第2页
第2页 / 共67页
01手机客户端系统的设计与开发.ppt_第3页
第3页 / 共67页
01手机客户端系统的设计与开发.ppt_第4页
第4页 / 共67页
01手机客户端系统的设计与开发.ppt_第5页
第5页 / 共67页
点击查看更多>>
资源描述

1、J2ME综合实训,第一部分:学习情景1 移动公交车查询系统的设计和开发,课程内容(分成两大学习情景),学习情景1:移动公交车查询系统的设计和开发高级UI高级事件处理移动设备访问网络查询算法学习情景2:手机游戏“迷失森林”的设计和开发低级UI低级事件处理游戏中的人工智能RMS记录管理系统,课程目标培养什么样的人才,能够开发无线电子商务、无线电子政务和无线查询等系统的J2ME无线应用开发软件工程师能够开发智能手机游戏的J2ME游戏软件开发工程师,学习单元一 移动公交车查询系统的分析和设计,学习目标:掌握构建基于J2ME的移动电子商务平台了解项目的需求分析了解项目的概要设计了解GPRS的工作原理了解

2、Servlet的工作原理 应具备的职业行动能力:了解移动电子商务系统的架构移动公交车查询系统分析和设计重点和难点构建基于J2ME的移动电子商务平台,项目来源,技术成熟度J2ME的出现GPRSJAVA手机的普及用户群公司职员与大学生,项目功能需求,服务器端(Servlet)支持多个用户访问 一次查询 二次查询客户端(J2ME)输入简单:城市、当前站点、目的站点 数据库要求不高Access,技术支持,J2MEJava技术特性 移动设备GPRSGPRS是通用分组无线业务(General Packet Radio Service)的英文简称,是一种基于GSM系统的无线分组交换技术,提供端到端的、广域的

3、无线IP连接。 Servlet Servlet是服务器端语言,它的优点是自动开启多个线程接受多个用户访问。,产品定位,用户市场主要针对于公交路线的查询。若经修改,则可用于查询相关资料(天气预报、通信、或金融服务业等)。 行业市场适用于各行各业,例如:金融服务业、通信、政府、天气预报、教育等。 地域市场此服务不仅在国内可以使用,只要有GPRS网络,都可以使用。,移动电子商务平台的架构,技术背景J2EE (The Java 2 Platform,Enterprise Edition)是目前比较流行的多层企业应用技术。它的优点之一是能够适应不同类型的客户端,如Web浏览器、Java Applets和

4、Java应用程序,这些客户端能够很容易地部署在笔记本电脑、台式电脑和工作站上,实现跨平台。 J2ME移动电子商务(Mobile Commerce,M-Commerce)是电子商务在移动网络中的应用,但是M-Commerce提供了比E-Commerce更灵活、更方便、更及时的信息服务。,移动电子商务平台的架构,网络访问模式WAP模式 :WAP (Wireless Application Protocol,无线应用协议)是使移动通讯设备可靠地接入互联网的国际认可标准之一。局限性:一方面是WAP设备受到CPU、RAM、ROM和处理速度的限制,只能处理有限的数据输入;另一方面,WAP承载网络是低功率的

5、网络,带宽小于10kbit/s。,移动电子商务平台的架构,i-Mode(Information Mode)模式:是由日本电报电话公司(NTT)和移动通信公司DoCoMo公司于1999年2月,推出的移动互联网技术,这种技术使得用户能够通过蜂窝电话使用Internet服务。i-mode的带宽为9600/bps,同时也具有可靠性不高、稳定性不高和不可预测性等局限性。GPRS和3G网络:具有较高的数据传送能力,Java机制和优化的HTTPS和KSSL技术保障了数据在网络上的安全性,同时,它提供直接访问网络的能力,而WAP和i-Mode模式必须要通过网关(Gateway)才能访问网络。,移动电子商务平台

6、的架构,移动电子商务平台的架构,概要设计,一次查询车次二次查询 车次-中转站-车次 三次查询车次-中转站-车次-中转站-车次 查询失败对不起,查无记录,概要设计,小结,构建基于J2ME的移动电子商务平台项目的需求分析项目的概要设计GPRS的工作原理,复习题,基于J2ME的移动电子商务平台的架构GPRS与WAP和i-Mode的优势需求分析概要设计,学习单元二 手机客户端用户界面设计的一般方法,学习目标:掌握MIDP中用户界面的体系结构了解LCDUI包理解Display类和Displayable类应具备的职业行动能力:掌握MIDP中用户界面的体系结构,会设计。 重点和难点:MIDP中用户界面的体系

7、结构Display类和Displayable类之间的关系,用户界面(UI)的体系结构,电视、电影等UI: User Interface一种通过组件来显示,如:输入短信一种直接接收键盘按键,如:游戏中的上下左右键LCDUI包高级用户界面Screen类低级用户界面Canvas类,用户界面(UI)的体系结构,Display类和Displayable类,Display类在用户界面中,Display提供在移动设备上显示组件的功能,在每个MIDlet应用程序中只有一个Display实例,必须通过Display.getDisplay(MIDlet)方法来获得Display实例,MIDlet获得Display

8、实例后,它将一直占有,直到MIDlet调用destroyApp(boolean)方法。 Displayable类 Displayable类的下面有Screen和Canvas两个类,Screen代表的是高级用户界面,而Canvas代表的是低级用户界面。为了查明设备上当前显示的内容,使用getCurrent()方法。,Display类和Displayable类,import javax.microedition.midlet.MIDlet;import javax.microedition.lcdui.*;public class DisplayMidlet extends MIDlet priv

9、ate Display display; public void startApp() display = Display.getDisplay(this); . display.setCurrent(aForm); .,Screen类,Screen类是所有高级APIs的超类预定义好的组件:TextBox、List和Alert。这类组件不可以放置其他类型的组件,只能作为原子组件使用。容器组件:Form。这类组件可以在其中添加文本、图形组件或其他相关的图形组件,如:Item项目组件。 每个Screen都拥有两个附加特性:标题和滚动条(Ticker)。,Screen类,创建Screen应用程序,创

10、建Screen应用程序步骤1:导入包。 步骤2:继承MIDlet,并且实现事件处理接口。步骤3:声明、定义类和属性。步骤4:创建构造方法。 步骤5:实现startApp()方法。 步骤6:实现pauseApp()方法和destroyApp()方法。步骤7:实现事件处理方法commandAction( Command cmd,Displayable dis )。,小结,MIDP中用户界面的体系结构LCDUI包Display类和Displayable类建立应用程序的步骤,复习题,MIDP中用户界面的体系结构LCDUI包Display类和Displayable类建立应用程序的步骤,学习单元三 移动公

11、交查询客户端用户界面设计(1),学习目标:移动查询系统用户界面概述工程中所使用的类 Form类 Item类TextField类应具备的职业行动能力:分析移动公交车查询系统用户界面的组成元素设计用户界面、功能按钮布局 重点和难点:工程中所使用的常见类,移动查询系统用户界面概述,在移动设备终端,由于资源等环境的限制,尽量要减少使用对象的个数。同时,为了客户能够方便快捷的操作,也需要客户端的设计要尽量的简化和傻瓜化。基于以上两点因素的考虑,在移动公交车查询系统的客户端,系统分别使用了Form类、TextField类、Alert类、Ticker类和Image类。其中Form对象中放置三个TextFie

12、ld对象,分别用于在客户端中的文本框中输入城市、当前站点与目标站点。Alert对象用于描述软件的版权信息。Ticker对象用于显示提示信息。Image对象负责产生png文件,并在屏幕上显示。,Form类,Form对象是一种可以容纳任意项目(item)组合的屏幕,包括只读和可编辑文本字段、图像、日期字段、指示器(gauge)和选项组。Item 类的任何子类都可以放到Form对象里面。Form 对象不使用布局管理器。相反,Form对象以非常类似于列表的方式组织自己的组件,通常是从上到下显示组件。,Item类,所有可以放到Form或Alert中的组件都是Item抽象类的子类。,TextField类,

13、TextField对象是一种可以放入Form的可编辑文本组件,可以使用TextField 对象接收用户的输入。但是TextField有容量限制,容量就是对象可以存储的字符数量,可以使用getMaxSize()方法取得MIDP 实现设置的最大容量。,课堂实践,分工作组讨论并设计移动公交车查询系统的用户界面,小结,移动查询系统用户界面概述工程中所使用的类 Form类 Item类TextField类,复习题,设计手机用户界面应该注意的几点问题Form类的作用如何在Form对象上添加组件TextField类的作用,学习单元四 移动公交查询客户端用户界面设计(2),学习目标:Image类和ImageIt

14、em类异常处理 Alert类应具备的职业行动能力:分析移动公交车查询系统用户界面的组成元素设计用户界面、功能按钮布局 重点和难点ImageItem类,Image类,Image类是一种图形图像数据容器,图形文件使用的是可移植网络图形(Portable Network Graphics,简写png)。当然,png文件并不是唯一的一种图片格式,还可以是jpg和gif文件格式,但是MIDP是支持具有动画效果的图形文件。根据创建的方式,Image可以是不变的,也可以是可变的。创建不变图像时,一般都是从资源包、文件或网络中载入的,固定图像在创建之后不能再修改,放在Alert、Form或ImageItem

15、中的图像必须是固定的。可变图像在内存中创建,并且可以被修改。在Wireless Toolkits中,图像的位置位于res中,并且在创建图像时,要在图像名前加上一个“/”,例如: Image anImage = Image.createImage(/welcome.png);,项目应用,anImage,创建一个图像,/声明一个图片private Image anImage;try anImage = Image.createImage(/welcome.png); catch( IOException ioe ) ioe.printStackTrace(); ,ImageItem类,在使用Ima

16、ge类时,图像的位置不能够人为的进行制定,为了能够制定图像的位置,在MIDP中提供了ImageItem类。ImageItem类是一个图像布局管理器,可以控制图像放置的方位,例如:前方、左方、右方、中间和后方等。描述这些方位的是ImageItem类的静态属性 。Public ImageItem ( String label,Image img, int layout, String altText ) 该构造方法使用指定的标签、图像、布局指示符和替换用的文本字符串创建新的固定ImageItem对象。如果显示器不能显示图像,就在放图像的位置显示altText参数指定的字符串,layout 参数是I

17、mageItem类静态属性的组合。,创建一个图像布局管理器,private Image anImage;/声明一个图片布局管理器private ImageItem anImageItem;try anImage = Image.createImage(/welcome.png); anImageItem = new ImageItem( null, anImage, ImageItem. LAYOUT_NEWLINE_AFTER| ImageItem. LAYOUT_CENTER, null ); catch( IOException ioe ) ioe.printStackTrace();

18、,Alert类,Alert对象让用户等待一定时间才进入下一个屏幕,是一种可以包含文本和图像的屏幕,用来提示错误信息或其他情况。警报分为永久模式和定时模式两种。 永久模式警报一直停留在屏幕上,直到用户关闭它为止,然后它将返回之前显示的屏幕或者应用程序明确指定的屏幕。setTimeout(Alert.FOREVER)方法可以让Alert对象成为永久模式警报。 定时模式警报只在屏幕上显示一段时间(通常是几秒钟),然后自动进入下一个屏幕,可以使用setTimeout(inttime)方法设置警报时间。构造方法。,课堂实践,分工作组讨论并完成移动公交车查询系统的用户界面各工作组演示自己的工作成果,达到相

19、互交流共同提高的目的,小结,Image类和ImageItem类异常处理 Alert类,复习题,Image类和ImageItem类异常处理 Alert类,学习单元五 移动公交车查询客户端系统的事件处理设计,学习目标:Ticker类 Command类CommandListener接口事件处理的步骤应具备的职业行动能力:设计移动公交车查询系统客户端的事件处理方法。重点和难点Command类事件处理的步骤,Ticker类,Ticker对象实现了在屏幕的最上方连续滚动一小段文本,同一滚动条可以为屏幕上不同的对象公用。创建滚动条之后,在需要使用的屏幕上使用setTicker()方法把滚动条添加到当前的屏幕

20、上。注意: MIDP规范没有提供启动或停止滚动条的方法;滚动条的字符串是连续滚动的。当字符串滚动出显示器以后,滚动条将从字符串的开头开始,最好在滚动条字符串的末尾添加一些空格,以免信息的末尾与开头连在一起;滚动的方向和速度取决于MIDP 实现。,事件处理,事件处理使得用户和应用程序之间可以进行交互,好的事件处理程序对于项目的成功与否事关重要。在MIDP事件处理中,有高级事件处理机制和低级事件处理机制。高级事件处理机制相对应的是触发高级用户界面所产生的事件处理,而低级事件处理机制相对应的是触发低级用户界面所产生的事件处理。本节将重点讲述高级事件处理机制,在高级事件处理中,有CommandList

21、ener接口、ItemCommandListener接口、ItemStateListenerCommand接口和Command类组成。所有的用户界面的回调都是系列化的,不会同时发生调用两个或以上的事件处理的。,Command类,一个Command对象实际上就是一个按钮,例如:“发送”按钮,它仅仅只包含自身的信息,例如:按钮的名称,按钮的优先级和按钮的类型,不包含按钮触发时所发生的事件。因此,我们可以把Command对象看成一个按钮。Command使用以下方法来创建一个按钮:Command(Stringlabel, intcommandType, intpriority); 其中,label表示

22、按钮的名称,commandType表示按钮的类型,priority表示按钮的优先级。例如:Command cmdSend = new Command(Send,Command.SCREEN,1);,CommandListener接口,CommandListener接口是Command对象的事件处理监听器,它只有一个抽象方法:commandAction(Commandc, Displayabled);其中,Command对象为按钮,Displayable对象为所显示的屏幕。该方法是指在那个屏幕上的事件处理。,事件处理步骤,步骤1:建立一个包含事件信息的Command对象。cmdSend = ne

23、w Command(Send,Command.SCREEN,1);步骤2:将该Command对象添加到Form、Canvas、Alert、List或TextBox中。inputForm.addCommand( cmdSend ); 步骤3:在MIDlet类中实现CommandListener接口。public class MGJCCX extends MIDlet implements CommandListener ,事件处理步骤,步骤4:在Form、Canvas、Alert、List或TextBox对象中建立事件监听器。inputForm.setCommandListener( this

24、);步骤5:实现commandAction方法,进行事件处理。public void commandAction(Command cmd, Displayable dis) if( cmd = cmdBack ) display.setCurrent(inputForm); ,课堂实践,分工作组编写移动公交车查询系统的各个事件处理方法,小结,Ticker类 Command类CommandListener接口事件处理的步骤,复习题,Ticker类的功能 Command类的作用CommandListener接口中的方法事件处理的步骤,学习单元六 移动公交车查询客户端系统的进一步完善常用的高级UI类

25、,学习目标:TextBox类 List类 ChoiceGroup类ItemStateListener事件处理 DateField类Gauge类 StringItem类 应具备的职业行动能力:完善移动公交车查询系统客户端的用户界面和事件处理方法的设计。撰写各种项目工作文档。重点和难点: ItemStateListener事件处理,TextBox类,TextBox对象是一种允许用户输入和编辑文本的屏幕。TextBox和TextField的功能大致上是相同的,不同的是TextBox是独立的文本编辑屏幕;而TextField是Item抽象类的子类,它必须包含在Form对象中。,List类,List(列

26、表)是一种包含可选选项元素的屏幕。List和下一节将要讲到到的ChoiceGroup 一样,实现了Choice接口,用户可以通过在选项之间移动来与列表交互。但是,交互不会生成任何事件处理,只有当在做出选择以后才会产生事件处理。在List中,有三种模式:IMPLICIT模式、EXCLUSIVE模式和MULTIPLE模式。前两种模式只能选择一项元素,第三种模式可以选择多项元素。,ChoiceGroup类,ChoiceGroup是Form对象中的可选元素,它与List类似,也是实现Choice接口,其中的方法和属性也基本相同。ChoiceGroup与List不同的是:ChoiceGroup只有EXC

27、LUSIVE和MULTIPLE两种模式,而List有三种模式;List可以单独使用,而ChoiceGroup必须是放置在Form对象之上。,ItemStateListener,Form中Item的状态是可以改变的,例如:改变TextFiled对象中的文本内容,使用上下键来选择ChoiceGroup对象中的元素时。MIDP使用ItemStateListener来监听这些状态的变化,当事件被触发时,会调用itemStateChanged()方法来进行事件处理。在下列情况下,将会调用itemStateChanged()方法:当改变TextFiled对象中的文本内容或修改TextFiled对象中的值时

28、;当用户在使用上、下和Select键时;当在DateField中输入新的日期或时间时;改变Gauge对象中的值时。,事件处理步骤,步骤1:在MIDlet类中实现ItemStateListener接口。public class MGJCCX extends MIDlet implements CommandListener ,ItemStateListener 步骤2:将Item对象添加到Form中。aForm.append( aChoiceGroup ); 步骤3:在Form对象中建立事件监听器。aForm.setItemStateListener( this );,事件处理步骤,步骤4:实现

29、itemStateChanged()方法,进行事件处理。public void itemStateChanged( Item item ) if ( item = aChoiceGroup ) aChoiceGroup.setLabel(EMAIL: + ChoiceGroup.getString( aChoiceGroup.getSelectedIndex() ) ); ,DateField类,DateField是一个Item对象,它是一个放置在Form对象中用来显示时间和日期的可编辑组件。当编辑DateField对象中的时间或日期时,会触发ItemStateListener事件。DateF

30、ield对象有三种显示模式:DATE(日期)模式、TIME(时间)模式和DATE_TIME(日期)模式,可以使用该类的静态整型变量来决定显示模式。,3-58,Gauge类,Gauge对象是一个放置在Form对象中的条形图,它可以和用户进行交互,例如:调节手机声音音量、网络连接进度条和下载进度条等。,3-59,StringItem类,StringItem对象是Item的子类,它的内容是只读的,用户不能够编辑它的内容。但是它的内容可以被应用程序修改。,3-60,课堂实践,各个工作组完善移动公交车查询系统客户端的用户界面和事件处理方法的设计撰写各种项目工作文档。,3-61,小结,TextBox类 List类 ChoiceGroup类ItemStateListener事件处理 DateField类Gauge类 StringItem类,3-61,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报