学习情境1之手机客户端系统的设计与开发教案.doc_第1页
学习情境1之手机客户端系统的设计与开发教案.doc_第2页
学习情境1之手机客户端系统的设计与开发教案.doc_第3页
学习情境1之手机客户端系统的设计与开发教案.doc_第4页
学习情境1之手机客户端系统的设计与开发教案.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

移动应用程序开发实践学习情景1 移动公交车查询系统的设计和开发学习情境1之“手机客户端系统的设计与开发”教案学习领域:移动应用程序开发学习情境:移动公交车查询系统的设计和开发学习任务1:手机客户端系统的设计与开发引导学习单元一 引入J2ME学习单元: 引入J2ME授课班级:授课时间:授课地点: 教学目标:1、 了解J2ME的发展历史2、 了解J2ME与J2EE和J2SE的联系和区别3、 理解J2ME的体系结构4、 掌握KVM5、 掌握CLDC和CDC,以及它们之间的联系和区别6、 理解MIDP7、 掌握J2ME的开发环境应具备的职业行动能力:理解J2ME的体系结构,并且创建一个简单的J2ME程序(HelloWorld)。教学重点和难点:1、 J2ME的体系结构2、 KVM教学方法:“讨论式”、“问题牵引”,“项目驱动”等教学方法。由于是第一次课,拟通过具体的实例引导学生认识J2ME,并引发其学习兴趣。教学过程设计:第一部分:课程介绍(约15分钟)1、 课程内容分成两大学习情景学习情景一:移动公交车查询系统的设计和开发学习情景二:手机游戏“迷失森林”的设计和开发2、课程目标培养什么样的人才(1)能够开发无线电子商务、无线电子政务和无线查询等系统的J2ME无线应用开发软件工程师(2)能够开发智能手机游戏的J2ME游戏软件开发工程师3、重点和难点4、学习方法5、考核方式第二部分:本次课程内容引入J2ME(约75分钟)1、使用问题牵引的方式来引入本次课程内容。 提出J2ME的历史。2、讲述J2ME与J2EE和J2SE的比较。J2SETM(The JavaTM 2 Platform, Standard Edition)是Java的标准版本,它主要应用于桌面应用程序的编程。J2EETM(The JavaTM 2 Platform,Enterprise Edition)是目前比较流行的多层企业应用技术。它的优点之一是能够适应不同类型的客户端,如Web浏览器、Java Applets和Java应用程序,这些客户端能够很容易地部署在笔记本电脑、台式电脑和工作站上,实现跨平台。J2METM(The JavaTM 2 Platform,Micro Edition)是当前使用比较多的基于移动设备开发技术。它提供了一种新型的企业客户端类型,如手机、PDA等手持设备。J2ME构建于MIDP(Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration)或CDC(Connected Device Configuration)基础之上。MIDP是设备生产厂商根据需要,构造一系列Java APIs,不同的移动设备厂商可以根据不同的需要构造不同的APIs来满足设备开发需要。而CLDC或CDC是由Sun公司提供的所有移动设备必须支持的Java APIs。因此移动设备的开发难点之一在于如何开发出具有通用性的程序。3、J2ME的体系结构J2ME应用程序的体系结构主要分为四个部分:操作系统、Java虚拟机、CLDC/CDC和MIDP应用程序。KVM的名字反映了这些设备的存储量是以千比特倍数来度量的。KVM虚拟机适用于拥有16/32比特的RISC/CISC微处理器或控制器,总的存储器只有160K左右,其中128k用来存放虚拟机和各种库的设备。1999年,Sun公司针对低端消费电子产品发布了两个规范:CLDC和MIDP。CLDC(Connected Limited Device Configuration)有限连接设备配置为低端消费电子产品的运行提供了最小的库集和APIs,它是所有低端消费电子产品必须支持的。因此这些APIs在所有的设备上都是可以运行的。CDC(Connected Device Configuration)连接设备配置是CLDC的超集,它包含CLDC中的所有APIs,同时它还有自己APIs,它为高端的消费电子产品提供运行环境。在CLDC中,没有用户界面的包,因为在CLDC中不包含具体设备的信息,而不同的设备就要设计不同的简档来满足这些设备的要求。其中MIDP就是一种最常见的简档。MIDP构架与CLDC之上。4、安装开发环境软件部分l Microsoft Windows XPl jakarta-tomcat-4.1.29.exel j2sdk1.4.2_08-win.exe l j2me_wireless_toolkit-2_1.exe硬件部分l 1G硬盘空间(推荐3G以上)l 128M内存(推荐256M以上)l PIII CPU(推荐PIV)5、引导学生编写并运行第一个J2ME程序(HelloWorld)如何创建类,其步骤是什么;理解使用对象;理解创建构造函数的方法。6、总结本章首先介绍了J2ME的历史,并它与J2EE和J2SE进行比较。本章重点讲述的是J2ME的体系结构,它包含KVM、CLDC/CDC和MIDP三部分。由于J2ME开发的是移动设备终端,它们的CPU和内存都受到一定的限制,因此KVM的功能也没有JVM强大,它是JVM的子集。CLDC是Sun公司推出的所有厂商都要遵循的APIs,MIDP是很多移动设备厂商共同制定的APIs,使得在遵循CLDC和MIDP规范的应用程序都能够在这些厂商的移动设备上运行,提高了可移植性。7、课后作业题和思考题思考题:MIDP和KJava的区别和联系。作业题:试编写HelloWorld程序。第三部分:课堂专题讨论(10分钟)1、你认为学习J2ME是否有用?在教学过程中出现的问题及解决办法引导学习单元二 建立MIDP应用程序(1) 学习单元: 建立MIDP应用程序(1)授课班级:授课时间:授课地点:教学目标:1、 掌握如何建立MIDlet应用程序2、 理解MIDlet包3、 掌握MIDlet生命周期4、 掌握MIDlet生命周期中的方法应具备的职业行动能力:掌握MIDlet应用程序开发的一般方法,并掌握MIDlet应用程序的生命周期。教学重点:1、 掌握MIDlet生命周期2、 如何建立MIDlet应用程序教学难点:1、 MIDlet生命周期KVM 教学方法: “讨论式”、“问题牵引”,“项目驱动”等教学方法。教学过程设计:第一部分:复习上次课程的内容(约15分钟)1、 J2ME的定位2、 J2ME的体系结构3、 CLDC中的包4、 MIDP中的包第二部分:本次课程内容(约75分钟)1、使用问题牵引的方式来引入本次课程内容。 MIDlet简介 移动信息设备简表 (MIDP) 适合类似于蜂窝电话和寻呼机这样的设备。MIDP,就象 KJava一样,同样也建立在 CLDC 之上。MIDP简表提供一种标准的运行时环境,允许在终端用户设备上动态地配置新的应用程序和服务。 MIDlet是一个Java类,它扩展了javax.microedition-.midlet.MIDlet抽象类。实现startApp()、pauseApp()和destroyApp()方法,这三个方法构成了MIDlet应用程序的生命周期。 复习抽象类相关知识。2、建立MIDlet应用程序。 步骤1:选择“KToolbar”,进入开发环境。 步骤2:建立工程。 步骤3:设置配置。 步骤4:添加代码。 src:保存MIDlet 和所有共享类的源代码。 res:保存MIDlet 所需的所有资源,如图标。 lib:保存对应MIDlet 所需的第三方库的JAR 或ZIP 文件。 bin:保存JAR、JAD 和清单文件。3、MIDlet生命周期。暂停状态(Paused):当MIDlet应用程序处在初始化时或者处在静止状态时,MIDlet处在暂停状态。处在暂停状态的MIDlet不会占用或者使用任何共享资源。在以下情况时会出现暂停状态: 加载MIDlet 时,最初是处于暂停状态,这是程序通过默认的构造方法来调用。此时如果程序抛出异常,MIDlet将会有暂停状态马上转入销毁状态,销毁应用程序; 当应用程序在活动状态时成功调用pauseApp()方法时,MIDlet将会有运行状态马上转入暂停状态; 当应用程序在活动状态时成功调用notifyPaused()方法时,MIDlet将会有运行状态马上转入暂停状态; 当应用程序在活动状态时,出现MidletStateChangeException异常时,MIDlet将会有运行状态马上转入暂停状态。运行状态(Active):当程序成功的调用startApp()方法时,程序将会进入运行状态。startApp()方法可以正常结束,在这种情况下,可能允许MIDlet 运行,也可能会通知MIDP 平台MIDlet 不希望此时运行。为实现后者,有如下几种方法: 如果startApp()方法检测到一个使之终止执行的错误条件,但是它以后可能不再出现(即一个临时错误条件),则需要抛出一个MIDletStateChangeException异常。这将把MIDlet 移回至暂停状态,从而在以后可以再来启动; 如果startApp()方法检测到一个错误条件,而且不可能恢复(即非临时错误条件),它应当调用其notifyDestroyed()方法; 最后,MIDlet可能会抛出MIDletStateChangeException以外的某个异常,可能是故意为之, 也可能是由于它调用的某个方法抛出了此异常, 而且startApp()方法未捕获到此异常。在这种情况下,则假定出现了一个严重错误,通过调用destroyApp()方法来销毁此MIDlet。 销毁状态(Destroyed):MIDlet处在销毁状态时,程序将会释放所有的资源,并同时终止运行。在以下情况时,程序会进入销毁状态: 当MIDlet调用了destroyedApp(false)方法或者MIDlet抛出MIDletStateChangeException异常时,MIDlet将会释放所有资源; 当MIDlet成功调用了notifyDestroyed()方法时。4、MIDlet应用程序的框架。import javax.microedition.midlet.*;class XXX extends MIDlet 初始化模块; MIDlet生命周期的实现; 其他方法; 事件处理;5、总结 MIDlet包 生命周期 MIDlet应用程序的框架6、课后作业题和思考题思考题:MIDlet生命周期是否需要程序员进行控制。作业题:试编写生命周期程序。第三部分:课堂专题讨论(10分钟)1、你认为学习MIDlet生命周期的难点在哪里?在教学过程中出现的问题及解决办法引导学习单元三 建立MIDP应用程序(2)学习单元:建立MIDP应用程序(2)授课班级:授课时间:授课地点: 教学目标:1、 掌握MIDlet生命周期中的方法2、 掌握如何建立清单文件3、 掌握如何获取清单文件的MIDlet属性4、 掌握如何将多个MIDlet打包到MIDlet套间中应具备的职业行动能力:进一步掌握MIDlet应用程序开发的一般方法和MIDlet的生命周期能够进行多个MIDlet应用程序的打包操作。教学重点和难点:掌握如何建立清单文件教学方法: “讨论式”、“问题牵引”,“项目驱动”等教学方法。教学过程设计:第一部分:复习上次课程(约15分钟) 1、 MIDlet包2、 生命周期3、 建立应用程序第二部分:本次课程内容(约75分钟)1、使用问题牵引的方式来引入本次课程内容。 提出MIDlet套件。2、MIDlet生命周期案例。【案例2-2】 MIDlet生命周期案例程序目的:理解MIDlet生命周期程序名:LifeCircle.java功能:模拟暂停、销毁和运行状态3、MIDlet套件。在MIDlet套件中,应该包含以下文件:l 用于运行应用程序的JAR文件;l 用于描述JAR文件的清单文件(MANIFEST.MF);l Java 应用描述文件(Java application descriptor,简写为JAD 文件)。在将MIDlet 发送到设备上进行安装前,需要对其适当地打包。要将以下内容建立在同一个JAR 文件中,这包括作为MIDlet 主要入口点的MIDlet 子类、它所需要的任何其他类(除了MIDP本身所提供的以外)以及它在运行时需要访问的任何图像或其他文件。向设备通知JAR 文件内容的打包信息必须在JAR 的清单文件中提供。类似的打包信息还在另一个称为Java 应用描述文件(Java application descriptor,简写为JAD 文件)的文件中提供,该文件独立于JAR 存在。一个JAR 可以包括不只一个MIDlet,在这种情况下,认为所有MIDlet 都处在同一个MIDlet 套件中。换种说法,也就是在同一MIDlet 套件中的所有MIDlet 都必须打包到同一个JAR 中。无论清单文件还是JAD 文件都是简单的文本文件,每行的形式为:属性名:属性值名和值之间由一个冒号和一个可选的空格分开。与MIDlet安装相关的所有属性名都冠以前缀“MIDlet-”。JAD 文件还包括另外两个属性,它们不出现在清单文件中:MIDlet-Jar-SizeMIDlet-Jar-URL4、JAD和JAR文件的关系。在MIDlet套件中,为什么要设计MANIFEST.MF文件,又要设计JAR文件和JAD文件呢?这主要是由于在移动设备中要想运行一个应用程序,必须要先知道它所支持的CLDC、MIDP和文件名等信息。所以要有一个MANIFEST.MF文件来进行描述。当然JAR文件是应用程序的主要文件,它是一个包含JAVA文件的压缩文件包。在文件被下载到移动设备之前首先要了解应用程序的大小和位置,这些属性可以显示给用户,从而帮助他确定需要花费多长时间才能得到JAR 文件;另外还使用户可以推测设备是否有足够的空闲空间来安装JAR。用于描述应用程序的大小和位置的属性就放在JAD文件中。这可以增加文件在网络上传输的速度,同时又增加应用程序的安全性。5、小结。本章首先介绍了J2ME的历史,并它与J2EE和J2SE进行比较。本章重点讲述的是J2ME的体系结构,它包含KVM、CLDC/CDC和MIDP三部分。由于J2ME开发的是移动设备终端,它们的CPU和内存都受到一定的限制,因此KVM的功能也没有JVM强大,它是JVM的子集。CLDC是Sun公司推出的所有厂商都要遵循的APIs,MIDP是很多移动设备厂商共同制定的APIs,使得在遵循CLDC和MIDP规范的应用程序都能够在这些厂商的移动设备上运行,提高了可移植性。6、课后作业题和思考题思考题:如何实现暂停和恢复。作业题:试将程序导入自己的手机上。第三部分:课堂专题讨论(10分钟)Jad和jar关系?在教学过程中出现的问题及解决办法学习单元一 移动公交车查询系统分析和设计学习单元:移动公交车查询系统分析和设计授课班级:授课时间:授课地点: 教学目标:1、 掌握构建基于J2ME的移动电子商务平台2、 了解项目的需求分析3、 了解项目的概要设计4、 了解GPRS的工作原理5、 了解Servlet的工作原理 应具备的职业行动能力:了解移动电子商务系统的架构J2ME客户端J2EE服务器端移动公交车查询系统分析和设计项目功能需求分析技术支持和产品定位项目概要设计教学重点和难点:1、 构建基于J2ME的移动电子商务平台2、 项目需求分析、概要设计的方法教学方法: “讨论式”、“问题牵引”,“项目驱动”等教学方法。教学过程设计:第一部分:复习上次课程的内容(约15分钟)1、 生命周期2、 MIDlet套件3、 Jad和Jar之间的关系4、 如何将MIDlet程序导入手机第二部分:本次课程内容(约75分钟)1、使用问题牵引的方式来引入本次课程内容。 项目来源 深大160? 造价高 不方便 技术成熟度 J2ME的出现 GPRS JAVA手机的普及 用户群 公司职员与大学生 2、项目功能需求 服务器端(Servlet)支持多个用户访问 一次查询 二次查询客户端(J2ME)输入简单:城市、当前站点、目的站点 数据库要求不高Access3、技术支持 J2ME Java技术特性 移动设备 GPRS GPRS是通用分组无线业务(General Packet Radio Service)的英文简称,是一种基于GSM系统的无线分组交换技术,提供端到端的、广域的无线IP连接。 Servlet Servlet是服务器端语言,它的优点是自动开启多个线程接受多个用户访问。 4、产品定位 用户市场 主要针对于公交路线的查询。若经修改,则可用于查询相关资料(天气预报、通信、或金融服务业等)。 行业市场 适用于各行各业,例如:金融服务业、通信、政府、天气预报、教育等。 地域市场 此服务不仅在国内可以使用,只要有GPRS网络,都可以使用。 5、移动电子商务平台的架构 技术背景 J2EE (The Java 2 Platform,Enterprise Edition)是目前比较流行的多层企业应用技术。它的优点之一是能够适应不同类型的客户端,如Web浏览器、Java Applets和Java应用程序,这些客户端能够很容易地部署在笔记本电脑、台式电脑和工作站上,实现跨平台。 J2ME 移动电子商务(Mobile Commerce,M-Commerce)是电子商务在移动网络中的应用,但是M-Commerce提供了比E-Commerce更灵活、更方便、更及时的信息服务。 网络访问模式 WAP模式 :WAP (Wireless Application Protocol,无线应用协议)是使移动通讯设备可靠地接入互联网的国际认可标准之一。局限性:一方面是WAP设备受到CPU、RAM、ROM和处理速度的限制,只能处理有限的数据输入;另一方面,WAP承载网络是低功率的网络,带宽小于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、概要设计 一次查询 车次 二次查询 车次-中转站-车次 三次查询 车次-中转站-车次-中转站-车次 查询失败 对不起,查无记录 7、总结 构建基于J2ME的移动电子商务平台 项目的需求分析 项目的概要设计 GPRS的工作原理8、课后作业题和思考题思考题:自己架构一个移动电子商务系统第三部分:课堂专题讨论(10分钟)1、你认为移动电子商务系统设计的难点?在教学过程中出现的问题及解决办法学习单元二 手机客户端用户界面设计的一般方法学习单元:手机客户端用户界面设计的一般方法授课班级:授课时间:授课地点:教学目标:1、 掌握MIDP中用户界面的体系结构2、 了解LCDUI包3、 理解Display类和Displayable类应具备的职业行动能力:掌握MIDP中用户界面的体系结构,会设计。教学重点:1、 MIDP中用户界面的体系结构教学难点:1、 Display类和Displayable类之间的关系教学方法: “讨论式”、“问题牵引”,“项目驱动”等教学方法。教学过程设计:第一部分:复习上次课程的内容(约15分钟)1、 基于J2ME的移动电子商务平台的架构2、 GPRS与WAP和i-Mode的优势3、 需求分析4、 概要设计第二部分:本次课程内容(约75分钟)1、使用问题牵引的方式来引入本次课程内容。 电视、电影等 UI: User Interface 一种通过组件来显示,如:输入短信 一种直接接收键盘按键,如:游戏中的上下左右键 LCDUI包 高级用户界面Screen类 低级用户界面Canvas类 2、Display类和Displayable类 Display类 在用户界面中,Display提供在移动设备上显示组件的功能,在每个MIDlet应用程序中只有一个Display实例,必须通过Display.getDisplay(MIDlet)方法来获得Display实例,MIDlet获得Display实例后,它将一直占有,直到MIDlet调用destroyApp(boolean)方法。 Displayable类 Displayable类的下面有Screen和Canvas两个类,Screen代表的是高级用户界面,而Canvas代表的是低级用户界面。为了查明设备上当前显示的内容,使用getCurrent()方法。3、Screen类 Screen类是所有高级APIs的超类 预定义好的组件:TextBox、List和Alert。这类组件不可以放置其他类型的组件,只能作为原子组件使用。 容器组件:Form。这类组件可以在其中添加文本、图形组件或其他相关的图形组件,如:Item项目组件。 每个Screen都拥有两个附加特性:标题和滚动条(Ticker)。 4、创建Screen应用程序 创建Screen应用程序 步骤1:导入包。 步骤2:继承MIDlet,并且实现事件处理接口。 步骤3:声明、定义类和属性。 步骤4:创建构造方法。 步骤5:实现startApp()方法。 步骤6:实现pauseApp()方法和destroyApp()方法。 步骤7:实现事件处理方法commandAction( Command cmd,Displayable dis )。 5、总结 MIDP中用户界面的体系结构 LCDUI包 Display类和Displayable类 建立应用程序的步骤6、课后作业题和思考题思考题:低级UI和高级UI的区别。第三部分:课堂专题讨论(10分钟)1、Display类和Displayable类之间的区别和联系?在教学过程中出现的问题及解决办法学习单元三 移动公交车查询客户端系统用户界面设计(1)学习单元:移动公交车查询客户端系统用户界面设计(1)授课班级:授课时间:授课地点:教学目标:1、 移动查询系统用户界面概述2、 熟悉工程中所使用的类:(1)掌握Form类 (2)掌握Item类(3)掌握TextField类应具备的职业行动能力:分析移动公交车查询系统用户界面的组成元素设计用户界面、功能按钮布局教学重点和难点:工程中所使用的常见类教学方法:“讨论式”、“问题牵引”,“项目驱动”等教学方法。采用分工作组的方式,让学生讨论并设计移动公交车查询系统的用户界面。教学过程设计:第一部分:复习上次课程的内容(约15分钟)1、 MIDP中用户界面的体系结构2、 LCDUI包3、 Display类和Displayable类4、 建立应用程序的步骤第二部分:本次课程内容(约75分钟)1、使用问题牵引的方式来引入本次课程内容。 怎样设计移动公交车查询系统的客户端用户界面?2、移动查询系统用户界面概述 在移动设备终端,由于资源等环境的限制,尽量要减少使用对象的个数。同时,为了客户能够方便快捷的操作,也需要客户端的设计要尽量的简化和傻瓜化。基于以上两点因素的考虑,在移动公交车查询系统的客户端,系统分别使用了Form类、TextField类、Alert类、Ticker类和Image类。其中Form对象中放置三个TextField对象,分别用于在客户端中的文本框中输入城市、当前站点与目标站点。Alert对象用于描述软件的版权信息。Ticker对象用于显示提示信息。Image对象负责产生png文件,并在屏幕上显示。 3、Form类 Form对象是一种可以容纳任意项目(item)组合的屏幕,包括只读和可编辑文本字段、图像、日期字段、指示器(gauge)和选项组。Item 类的任何子类都可以放到Form对象里面。Form 对象不使用布局管理器。相反,Form对象以非常类似于列表的方式组织自己的组件,通常是从上到下显示组件。 4、TextField类TextField对象是一种可以放入Form的可编辑文本组件,可以使用TextField 对象接收用户的输入。但是TextField有容量限制,容量就是对象可以存储的字符数量,可以使用getMaxSize()方法取得MIDP 实现设置的最大容量。 5、分工作组讨论并设计移动公交车查询系统的用户界面6、总结 移动公交车查询系统用户界面概述 工程中所使用的类 Form类 Item类 TextField类7、课后作业题和思考题思考题:系统用户界面的设计方针。第三部分:课堂专题讨论(10分钟)1、Item类和Form类之间的区别和联系?在教学过程中出现的问题及解决办法学习单元四 移动公交车查询客户端系统用户界面设计(2)学习单元:移动公交车查询客户端系统用户界面设计(2)授课班级:授课时间:授课地点:教学目标:1、 掌握Image类和ImageItem类2、 掌握异常处理 3、 掌握Alert类应具备的职业行动能力:分析移动公交车查询系统用户界面的组成元素设计用户界面、功能按钮布局教学重点和重点:Image类和ImageItem类教学方法:“讨论式”、“问题牵引”,“项目驱动”等教学方法。采用分工作组的方式,让学生讨论并设计移动公交车查询系统的用户界面。各工作组通过演示自己的工作成果,达到相互交流共同提高的目的。教学过程设计:第一部分:复习上次课程的内容(约15分钟)1、 设计手机用户界面应该注意的几点问题2、 Form类的作用3、 如何在Form对象上添加组件4、 TextField类的作用第二部分:本次课程内容(约75分钟)1、使用问题牵引的方式来引入本次课程内容。 怎样设计移动公交车查询系统的客户端用户界面?2、Image类 Image类是一种图形图像数据容器,图形文件使用的是可移植网络图形(Portable Network Graphics,简写png)。当然,png文件并不是唯一的一种图片格式,还可以是jpg和gif文件格式,但是MIDP是支持具有动画效果的图形文件。根据创建的方式,Image可以是不变的,也可以是可变的。创建不变图像时,一般都是从资源包、文件或网络中载入的,固定图像在创建之后不能再修改,放在Alert、Form或ImageItem 中的图像必须是固定的。可变图像在内存中创建,并且可以被修改。在Wireless Toolkits中,图像的位置位于res中,并且在创建图像时,要在图像名前加上一个“/”,例如: Image anImage = Image.createImage(/welcome.png);/声明一个图片private Image anImage;try anImage = Image.createImage(/welcome.png); catch( IOException ioe ) ioe.printStackTrace(); 3、ImageItem类 在使用Image类时,图像的位置不能够人为的进行制定,为了能够制定图像的位置,在MIDP中提供了ImageItem类。ImageItem类是一个图像布局管理器,可以控制图像放置的方位,例如:前方、左方、右方、中间和后方等。描述这些方位的是ImageItem类的静态属性 。Public ImageItem ( String label,Image img, int layout,String altText ) 该构造方法使用指定的标签、图像、布局指示符和替换用的文本字符串创建新的固定ImageItem对象。如果显示器不能显示图像,就在放图像的位置显示altText参数指定的字符串,layout 参数是ImageItem类静态属性的组合。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(); 4、Alert类 Alert对象让用户等待一定时间才进入下一个屏幕,是一种可以包含文本和图像的屏幕,用来提示错误信息或其他情况。警报分为永久模式和定时模式两种。 永久模式警报一直停留在屏幕上,直到用户关闭它为止,然后它将返回之前显示的屏幕或者应用程序明确指定的屏幕。setTimeout(Alert.FOREVER)方法可以让Alert对象成为永久模式警报。 定时模式警报只在屏幕上显示一段时间(通常是几秒钟),然后自动进入下一个屏幕,可以使用setTimeout(inttime)方法设置警报时间。构造方法5、分工作组讨论并完成移动公交车查询系统的用户界面6、各工作组演示自己的工作成果,达到相互交流共同提高的目的7、总结 Image类和ImageItem类 异常处理 Alert类8、课后作业题和思考题思考题: 能否使用其他格式的图像。第三部分:课堂专题讨论(10分钟)1、Image类和ImageItem类的区别和联系?在教学过程中出现的问题及解决办法学习单元五 移动公交车查询客户端系统的事件处理设计学习单元:移动公交车查询系统客户端的事件处理设计授课班级:授课时间:授课地点: 教学目标:1、 掌握Ticker类 2、 掌握Command类3、 掌握CommandListener接口4、 熟悉事件处理的步骤应具备的职业行动能力:设计移动公交车查询系统客户端的事件处理方法。教学重点和难点:1、 Command类2、 事件处理的步骤教学方法:“讨论式”、“问题牵引”,“项目驱动”等教学方法。采用分工作组的方式,让学生讨论并设计移动公交车查询客户端系统的事件处理方法。教学过程设计:第一部分:复习上次课程的内容(约15分钟)1、 Image类和ImageItem类2、 异常处理 3、 Alert类第二部分:本次课程内容(约75分钟)1、使用问题牵引的方式来引入本次课程内容。有了事件处理,才能实现用户与应用程序之间的交互。2、Ticker类 Ticker对象实现了在屏幕的最上方连续滚动一小段文本,同一滚动条可以为屏幕上不同的对象公用。创建滚动条之后,在需要使用的屏幕上使用setTicker()方法把滚动条添加到当前的屏幕上。注意: MIDP规范没有提供启动或停止滚动条的方法;滚动条的字符串是连续滚动的。当字符串滚动出显示器以后,滚动条将从字符串的开头开始,最好在滚动条字符串的末尾添加一些空格,以免信息的末尾与开头连在一起;滚动的方向和速度取决于MIDP 实现。 3、J2ME的事件处理机制事件处理使得用户和应用程序之间可以进行交互,好的事件处理程序对于项目的成功与否事关重要。在MIDP事件处理中,有高级事件处理机制和低级事件处理机制。高级事件处理机制相对应的是触发高级用户界面所产生的事件处理,而低级事件处理机制相对应的是触发低级用户界面所产生的事件处理。本节将重点讲述高级事件处理机制,在高级事件处理中,有CommandListener接口、ItemCommandListener接口、ItemStateListenerCommand接口和Command类组成。所有的用户界面的回调都是系列化的,不会同时发生调用两个或以上的事件处理的。 4、Command类 一个Command对象实际上就是一个按钮,例如:“发送”按钮,它仅仅只包含自身的信息,例如:按钮的名称,按钮的优先级和按钮的类型,不包含按钮触发时所发生的事件。因此,我们可以把Command对象看成一个按钮。Command使用以下方法来创建一个按钮:Command(Stringlabel, intcommandType, intpriority); 其中,label表示按钮的名称,commandType表示按钮的类型,priority表示按钮的优先级。例如:Command cmdSend = new Command(Send,Command.SCREEN,1); CommandListener接口是Command对象的事件处理监听器,它只有一个抽象方法:commandAction(Commandc, Displayabled);其中,Command对象为按钮,Displayable对象为所显示的屏幕。该方法是指在那个屏幕上的事件处理。 5、事件处理步骤 步骤1:建立一个包含事件信息的Command对象。步骤2:将该Command对象添加到Form、Canvas、Alert、List或TextBox中。步骤3:在MIDlet类中实现CommandListener接口。步骤4:在Form、Canvas、Alert、List或TextBox对象中建立事件监听器。步骤5:实现commandAction方法,进行事件处理。6、分工作组编写移动公交车查询系统的各个事件处理方法7、总结1、 Ticker类 2、 Command类3、 CommandListener接口4、 事件处理的步骤8、课后作业题和思考题思考题: 按钮是否可以改变其颜色。第三部分:课堂专题讨论(10分钟)1、Command类和CommandListener接口之间的关系?在教学过程中出现的问题及解决办法学习单元六 移动公交车查询客户端系统的进一步完善学习单元:移动公交车查询客户端系统的进一步完善常用的高级UI类授课班级:授课时间:授课地点:教学目标:掌握:1、 TextBox类 2、 List类 3、 ChoiceGroup类4、 ItemStateListener事件处理 5、 DateField类6、 Gauge类 7、 StringItem类 应具备的职业行动能力:完善移动公交车查询系统客户端的用户界面和事件处理方法的设计。撰写各种项目工作文档。教学重点和难点:ItemStateListener事件处理教学方法:“讨论式”、“问题牵引”,“项目驱动”等教学方法。采用分工作组的形式,完善移动公交车查询系统客户端的用户界面和事件处理方法的设计,并撰写各种项目工作文档。教学过程设计:第一部分:复习上次课程的内容(约15分钟)1、 Ticker类的功能 2、 Command

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论