资源描述
学习情境1之“手机用户端系统设计和开发”教案
学习领域:移动应用程序开发
学习情境:移动公交车查询系统设计和开发
学习任务1:手机用户端系统设计和开发
引导学习单元一 引入J2ME
学习单元:
引入J2ME
讲课班级:
讲课时间:
讲课地点:
教学目标:
1、 了解J2ME发展历史
2、 了解J2ME和J2EE和J2SE联络和区分
3、 了解J2ME体系结构
4、 掌握KVM
5、 掌握CLDC和CDC,和它们之间联络和区分
6、 了解MIDP
7、 掌握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 XP
l jakarta-tomcat-4.1.29.exe
l 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-Size
MIDlet-Jar-URL
4、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)
输入简单:城市、目前站点、目标站点
数据库
要求不高
Access
3、技术支持
• 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(int time)方法设置警报时间。
结构方法
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(String label, int commandType, int priority);
其中,label表示按钮名称,commandType表示按钮类型,priority表示按钮优先级。比如:
Command cmdSend = new Command("Send",Command.SCREEN,1);
CommandListener接口是Command对象事件处理监听器,它只有一个抽象方法:
commandAction(Command c, Displayable d);
其中,Command对象为按钮,Displayable对象为所显示屏幕。该方法是指在那个屏幕上事件处理。
5、事件处理步骤
步骤1:建立一个包含事件信息Command对象。
步骤2:将该Command对象添加到Form、Canvas、Alert、List或TextBox中。
步骤3:在MIDlet类中实现CommandListener接口。
步骤4:在Form、Canvas、Alert、List或TextBox对象中建立事件监听器。
步骤
展开阅读全文