2023-2024手持移动设备应用开发-习题参考答案_第1页
2023-2024手持移动设备应用开发-习题参考答案_第2页
2023-2024手持移动设备应用开发-习题参考答案_第3页
2023-2024手持移动设备应用开发-习题参考答案_第4页
2023-2024手持移动设备应用开发-习题参考答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

《手持设备移动应用开发》习题

第1章J2ME简介

1.什么是手持移动设备?

答:本课程所谓的手持移动设备是指能随身携带的小型智能电子设备,通常硬件

系统应包含处理机、内存和输入输出设备,而软件系统应包含嵌入式操作系统、

可安装或卸载的嵌入式应用软件。

目前主要的手持移动设备有智能手机、PDA等消费类小型电子设备,也可以包

括各类便捷式嵌入式电子设备。

2.以智能手机为例的手持移动设备,目前主要有哪些智能手机手持设备操作系

统,各自支持何种开发平台?(提示:通过网络搜寻查找)

答:微软公司操作系统:WindowsMobile开发平台:C#.net

Nokia公司操作系统:Symbian开发平台:SymbianC++

Google公司操作系统:Android开发平台:Java

Apple公司操作系统:IOS开发平台:Objective-C

ResearchInMotion公司操作系统:BlackBerry开发平台:Java

3.简述Java三个版本的区分联系,以及本课程采纳J2ME作为开发平台的缘

由。

答:区分:Java的三个版本分别针对不同的领域。三个版本其基本语法完全相同,

只是依据针对的对象设备不同,API库有些差异。

联系:J2SE包含了Java基本的核心的元素,是J2EE和J2ME的基础。J2EE

是Java的高级版本,在J2SE基础上增加了新的类库,引入了新的技术,主要用

于服务器端的程序;J2ME在J2SE基础上删减了部分内容,还引入了特地的API

类库。

缘由:J2ME主要用于移动设备等小型电子设备的软件开发,本课程针对手

持移动设备开发。J2ME有特地的API类库。J2ME是手持移动设备开发目前的

主流开发平台,通用性强。

4.手持设备移动开发中与J2ME技术中Configuration>Profile对应的技术名称

是什么?

答:Configuration:CLDC(ConnectedLimitedDeviceConfiguration,连接受限设

备配置)''

Profile:MIDP(MobileInformationDeviceProfile,移动信息设备配置简表)

5.什么是MIDlet?

答:在J2ME技术平台上依据MIDP规范建立的应用程序。MIDlet是应用程序管

理最基本的单元。J2ME应用程序必需继承MIDlet,然后重写三个事务函数。

MIDlet中包含有启动、停止、销毁三个函数和一个构造函数,MIDlet首先调用

不带参数的构造函数然后应用程序管理器依据当前的MIDlet的状态,确定调用

启动、停止或销毁中的某一个。

【教材习题】

p.ll

一、选择题:2、3、4、5

二、思索题:3

第2章J2ME开发环境

1.什么是手机模拟器?

答:一种能在PC机上仿真手机软硬件环境及界面,使得手机软件的编程、调试、

运行、测试等开发过程可以在PC机的模拟环境中实现的软件系统。

2.简述WirelessToolKit的功能。

答:SunJ2MEWirelessToolKit(缩写为WTK)是Sun公司供应的无线开发工具

包,是一个包含手机好用工具、类库、文档、实例以及手机模拟器等的开发套件。

WirelessToolKit的功能是供应了四种模拟器,利用软件来代替模拟电子设备。这

样可以在程序开发胜利后不用修改或者仅做简洁的修改后就可以将应用程序干

脆下载到手机上运行该应用程序,简化了开发过程,提高了开发效率。

3.简述WTK中四种模拟器名称及功能。

答:四种模拟器分别是:

Defaultcolorphone用于具有彩色显示屏幕的手机模拟器

Defaultgrayphone用于具有单色灰度屏幕的手机模拟器

Mediacontrolskin用于具有音频和视频限制功能的手机模拟器

Qwertydevice用于具有标准打字键盘的手机模拟器

4.请说明构建基于eclipse构架J2ME编程环境软件安装步骤。

答:

(l)JDK的安装;

(2)WTK的安装;

(3)Eclipse的安装;

(4)加载EclispeME到Eclipse中;

⑸加载WTK到Eclipse中;

(6)安装Eclipse简体中文语言包。

5.请说明MIDlet程序结构及主要方法功能。

答:

(1)MIDlet项目程序框架结构必需包括有一个MIDlet主类,该类中默认包含

构造方法及destoryAppO、pauseApp。、StartApp。等3个事务处理方法。

(2)构造方法用于初始化MIDlet;destoryAppO用于终止MIDlet;pauseAppO

用于暂停MIDlet;startAppO用于启动MIDlet。当设备产生相应事务时,程序

会自动调用相应处理方法。

(3)J2ME应用程序必需继承MIDlet,然后重写三个事务方法。相关的一组

MIDlet可组合在一起,称为MIDletSuiteo一个或多个MIDlet可打包成一个单

独的Jar文件,形成一个MIDletSuite0每个MidletSuite中包含继承自MIDlet

的类和其他协助的类,还包含其他的资源。

【教材习题】

p.29~30

一、选择题:3、4、5

二、思索题:1、3

第3章CLDC和MIDPAPI简介

1.简述CLDC特点。

答:

(1)CLDC:ConnectedLimitedDeviceConfiguration(即有限连接设备配置),

只定义了支持最基本的功能和虚拟机规范的KVM的核心类库。

(2)CLDC运行在存储器大小、处理实力和显示实力都受限制的移动信息设备

上。主要针对小型设备,如手机、PDA等

(3)在CLDC中Java标准版的一些功能不被支持。

2.简述MIDP功能。

答:MIDP(MobileInformationDeviceProfile,即移动信息设备简表),针对移动

电话等,供应了用户界面、网络连接、局部数据存储等增加的功能。

【教材习题】

p.42

一、选择题:4

二、思索题:2

第4章J2ME的用户界面编程

1.简述高层用户界面及底层用户界面的特点?

答:

向户界面设计分成两大类:高层用户界面和低层用户界面。

(1)高层用户界面(抽象描述)

高层用户界面是通过高层API类库实现,这类API运用抽象的方法描述用户界

面,界面的详细细微环节依靠不同厂商供应的MIDP实现,因此在界面实现细微

环节上可以不一样,优点是能够在不同设备之间达到高度的可移植性,运用户界

面可以适应不同的硬件设备。MIDP中全部高级API类都是Screen的子类。

(2)底层用户界面(运行感知)

底层用户界面是通过底层API类库实现,这类API在运行时可以感知移动信息

设备中如显示屏、输入设备等硬件配置,依据硬件配置状况来实现用户界面,可

以更精确限制硬件和更好地发挥硬件性能,缺点是可移植性差,不同的硬件配置

须要不同的程序与之对应。

2.简述Display类、DisplayAble类、Screen类功能。

答:

(l)Display类是系统显示设备管理类,供应取得设备属性和显示方法,可以认为

是MIDP显示用户界面的系统级逻辑屏幕;

(2)Displayable类代表应用程序各自的逻辑屏幕,系统在同一时间内只能显示一

个Displayable逻辑屏幕,用户只能和这个Displayable类交互;

(3)Screen类是继承自Displayable类的屏幕显示类,这类对象可以干脆在系统屏

幕中获得显示,且独占整个屏幕,彼此不能同时共享屏幕显示。可选列表(List

类)、提示信息(Alert类)、文本框(TextBox类)、表单(Form)干脆继承自Screen

类。

3.简述Display类与Displayable类的区分联系。

答:

(1)Display类是系统级的逻辑屏幕,Displayable类是应用程序级逻辑屏幕,

两者层次不同;

(2)一个设备只有一个系统级逻辑屏幕,可以有多个不同的应用程序级逻辑屏

幕;

(3)Display类负责管理不同应用程序逻辑屏幕,可以确定哪个应用程序逻辑屏

幕在前台的系统级屏幕上显示,并且只有一个应用程序逻辑屏幕能在前台显示,

其余应用程序逻辑屏幕可以保存在后台等待在适当时刻显示;

(4)可以形象地认为,Display类屏幕是实际可以看到的显示设备,而不同的应

用程序有各自的屏幕布局,在须要时将各自屏幕布局显示到这个设备屏幕上。

4.简述Command类主要功能。

答:

在MIDP中,Command类代表屏幕菜单吩咐项,当用户按下一个按钮时,MIDlet

可以响应用户的动作。在Sun的J2MEWTK模拟器中,吩咐按钮被称为soft

button(软键),特地用来供应屏幕菜单吩咐项,但并不负责执行吩咐,执行菜单

吩咐须依靠于对应的吩咐事务处理方法。

5.结合Command类运用过程说明事务处理过程中事务发生者、事务监听者及

事务处理者各是哪个对象或方法?

答:

事务发出者:菜单吩咐对象Command发出事务

事务监听者:菜单吩咐监听接口CommandListener

事务处理者:菜单吩咐处理方法commandAction()

6.试说明setCommandListener()方法主要作用。

答:

在事务处理过程中,为了让监听者与它所监听的对象挂钩,须要通过所谓监听注

册的方式将两者联系起来,setCommandListener。方法可以监听Command对象发

出的事务,这个方法隶属于Dsipayable类,List>Alert>TextBox、Form等

Displayable类型的对象均可调用该方法,建立与监听事务的联系,指定监听什

么类型的事务。

7.TextBox类与TextField类在运用和功能上有何异同?

答:TextBox是Display的子类,TextField是Form的子类。

TextBox是一个DisplayAble类,所以它的对象可以干脆由Display显示,而且

TextBox会占满整个屏幕。而TextField是Item类的子类,所以TextField须

要加到Form表单中才能显示,而且不独占一个屏幕。

8.什么是Alert类?

答:

(1)Alert类用于在屏幕上显示信息并可以等待肯定的处理时间的逻辑屏幕,

可以等待无限长时间的称为模态和反之称为非模态。

(2)Alert类是Displayable类的派生类,属于逻辑屏幕类,可以通过取得系

统屏幕Display对象获得显示屏,并且独占屏幕,不能与其他Displayable对象

同时出现在一个系统屏幕上。

9.什么是List类?

答:

(1)List类是可以供应具有并列关系的多项内容供用户选择的逻辑屏幕。

(2)List类是Displayable类的派生类,属于逻辑屏幕类,可以通过取得系统

屏幕Display对象获得显示屏,并且独占屏幕,不能与其他Displayable对象同

时出现在一个系统屏幕上。

10.请简述Form类与item类型组件在编程中的关系。

答:

(1)Form类是干脆从Displayable类继承来的,因此具有屏幕特性,这就意味

着会独占整个屏幕;

(2)引入Form类的好处是虽然Form自己是独占整个屏幕,但它可以作为容器,

包含Item类型的组件,以便进行屏幕布局。Form类中可以包括文本域、进度条、

选择组等的Item类型的组件;

(3)可以在同一个Form中供应多个Item类组件,但Item类组件不能包含于其

他Item类组件,并且另一个Form中的Item类组件也不能同时显示在该Form

中,假如必需在多个Form中显示同一个Item类组件,那就必需在下一个Form

显示它之前,先将该Item类组件从当前Form中删除,然后才能让该组件显示在

新的Form中。

11.什么是Gauge类?

答:Gauge是一种可以图形化地表示数值范围大小的进度条,可以通过直观的图

形来显示或修改一个变量的大小值,最小值是0,最大值由程序员设置。可以分

为交互和非交互两种类型。

12.简述ItemStateListener接口功能。

答:

(1)ItemStateListener接口可以接收Form中Item类型组件状态变更产生的事务,

因此可以用这个接口来校验用户的输入动作。

(2)当窗体中某个部件的状态发生了变更,窗体的ItemStateListener的

itemStateChanged方法就将被调用。系统将发生变更的部件的值传递给

itemStateChanged方法,在itemStateChanged方法中就可以对部件发生的变更进

行响应。

13.简述DateField类的功能。

答:

(1)DateField类可以在屏幕上显示日期和时间

(2)DateField类是从Item派生出来的,可以放置在窗体中。

14.简述Timer类和TimerTask类功能。

答:

(1)Timer类对象的主要功能是作为定时器,而由Timer类对象定时执行的任务

由TimerTask类对象定义。

(2)运用Timer对象的schedule方法可以调度TimerTask任务。

【教材习题】

p.85

一、选择题:6

【程序设计】

1.驾驭教材p.51TickerEample类程序。

2.驾驭教材p.54commander类程序。

3.驾驭教材p.59~60TwoAlerts类程序。

4.驾驭教材p.59~60Gauge1类程序。

5.驾驭教材p.74程序片断功能。

6.驾驭教材p.79〜81星空模拟程序。

第5章J2ME数据库编程

1.什么是RMS?

答:

⑴在J2ME中定义了一个简洁的基于记录的数据记录管理系统(Record

ManagementSystem,RMS)。

(2)RMS不同于在PC机或者是服务器上运行的数据库管理系统,RMS仅供应最

基本的数据管理功能。

(3)记录存储机制是由RecordStore类实现。

2.什么是记录?

答:

(1)在RecordStore中存储的每一条数据称为记录(record)»

(2)在RMS中每一条记录的数据都存放在一个byte数组中,每一条记录由惟

一的recordld来标识。

(3)在RMS中,可以在一个打开的RecordStore中添加、删除、检索和修改记

录。

3.RMS如何监听记录变更?

答:

RMS运用记录监听接口RecordListener来监视记录的变更。当一个RecordStore

中的记录发生变更时,RecordListener就会被触发执行相应的事务处理方法。

运用下面的事务处理函数来响应相应的事务:

voidrecordAdded()

voidrecordChanged()

voidrecordDeleted()

6.记录存储系统高级操作中4个记录接口对象是什么?各有什么作用?

答:4种高级接口分别是:记录枚举接口(RecordEnemeration)、记录过滤接口(RecordFilter)、

记录比较接口(RecordComparator)、记录监听接口(RecordListener)«

记录枚举接口:可以从记录存储系统中取得符合条件的多个记录,并在这些记录

中前后阅读,以便对某条记录操作;

记录过滤接口:可以用来过滤出符合条件的数据记录;

记录比较接口:对数据记录排序进行比较;

记录监听接口:用于监听记录数据增加、删除和变更事务的发生

7.请说明为何在增加或修改记录时须要借助DataOutputStream、

ByteArrayOutputStream对象,而在获得记录时须要借助DatalnputStream、

ByteArraylnputStream对象。

答:

(1)在J2ME的记录存储系统中数据只能以字节数组类型(byte口)保存,但

在实际应用中记录类型有多种,如字符型、字符串型、整型、浮点型、逻辑型等。

以增加记录为例,方法是publicintaddRecord(byte[]data,intoffset,int

numBytes),从该方法的第1个参数可以看出添加的记录类型必需是byte[],这

就要求在运用添加记录方法addRecord。前首先将其他数据类型转换为byte□型

数据,然后才能运用这个方法。这时须要DataOutputStream、

ByteArrayOutpu(Stream两个类的对象协作完成这个工作。转换过程而代码片断如

下:

DataOutputStream、ByteArrayOutputStream这两个类协作可以完成将数据转换为

字节型数据的工作,方法如下:

//首先创建一个ByteArrayOutputStream对象,这个对象可以将得到的数据转换

化字节数组型数据输出

ByteArrayOutputStreambs=newByteArrayOutputStream();

//将ByteAnayOutputStream对象作为参数,创建与这个对象关联的

DataOutputStream对象,DataOutputStream对象供应了将各种基本JAVA数据

类型转换为数据输出流的方法

DataOutputStreamds=newDataOutputStream(bs);

〃调用DataOutputStream对象的方在writelnt()将血型数据转换为数据输出流,

以便传递给ByteArrayOutputStream对象;

ds.writelnt();

ds.close();

〃将ByteArrayOutputStream对象中的字节数组数据取出存入字节数组b中

byte[]b=bs.toByteArray();

(2)同样在获得记录时,干脆从记录存储系统中得到的数据是字节数组类型,

须要依据实际应用须要转换成相应的其他数据类型,这个转换过程须要

DatalnputStream、ByteArraylnputStream这两个类的对象协作完成这个工作。

转换过程的代码片断如下:

//从记录存储系统中取得字节数组型数据存入b中

byteb[]=rs.getRecord(id);

〃创建与b关联的ByteArraylnputStream型对象bais

ByteArraylnputStreambais=newByteArraylnputStream(b);

〃建立与bais关联的DatalnputStream对象dis

DatalnputStreamdis=newDatalnputStream(bais);

〃调用DatalnputStream对象的readUTF。将得到的数据转换成UTF格式字符串;

dis.readUTF();

//dis.readlnt();将得到的数据转换成血型数据

dis.close();

【教材习题】

p.119-120

一、选择题:1、2、3、4、6

二、思索题:6

【程序设计】

1.驾驭教材p.87RecordStoreTest类程序。

2.驾驭教材p.90RecordAdd类程序。

3.驾驭教材p.91RecordDel类程序。

4.驾驭教材p.92〜94TestRecord类程序。

5.驾驭教材p.95~97RecordListenerExample类程序。

第6章J2ME网络编程

1.包在网络编程中有什么作用?

答:

(1)javax.microedition.io包的目的是实现通用的网络通信和本地I/O。

(2)javax.microedition.io里包含了一个类、9个接口和一个异样

2.简述Connection接口功能。

答:Connection接口供应了网络连接的功能,这是一个通用接口类型,只定义了

close方法,没有定义open方法,因为打开接口运用Connector.open。方法。

3.举例说明如何编程实现打开连接读取数据。

答:实现打开连接读取数据的程序片断如下:

Stringurl=^^;^^〃定义须要打开的URL地址

〃创建并打开连接对象,强制转换为相应的连接对象类型

Contentconnectionconnection=(ContentConnection)Connector.open(url)

//创建并打开相应连接对象的输入数据流

InputStream_istm=connection.openInputStream();

//取得连接对象中数据流的长度

intlen=(int)connection.getLength();

if(len!=-l)//假如输入数据流长度不为空

(

byte[]data=newbyte[len];//按输入数据流长度创建字节数组

istm.read(data);〃从输入数据流中读取数据到字节数组中

}

istm.close。;//关闭输入数据流

connection.close();〃关闭连接对象

5.Connection支持哪些常见的子接口?

答:InputConnection接口、OutputConnection接口、StreamConnection接口、

Contentconnection接口、StreamConnectionNotified接口、DatarramConnection接

口等。

6.为什么在网络连接编程中要采纳多线程技术?

答:网络连接是有可能堵塞的操作,为了高效运行程序,有必要引入多线程设计。

J2ME仍旧采纳继承Thread类实现线程类,或实现Runnable接口来实现线程操

作,调用Thread中的start。方法启动线程操作的方法run()。

【程序设计】

1.驾驭教材p.l23-124GetURLContent类程序。

第9章J2ME的低级用户界面设计

1.可以在一个MIDlet中同时运用高级用户界面API和低级用户界面API吗?

答:可以在一个MIDlet交互运用高级用户界面API和低级用户界面API,但是

不能同时运用两种类型的API。

2.请从继承关系说明为什么Canvas类本质上是一种屏幕类?Canvas类本身又

是各种底层用户界面类的什么类?(提示:参考WTKDocumentation)

答:

(1)从继承关系来看,Canvas类继承于Displayable类,因此本质上也是一个屏

幕类。

(2)Canvas类是底层界面编程基类,是一个抽象类,编程时必需继承该类并实

现其paint。方法。

2.在实际编程中通常须要重写Canvas类什么方法?应用程序是否可以干脆调

用这个方法?说明能或不能干脆调用的理由。

答:在实际编程中通常须要重写Canvas类的paint()方法;paint方法只能被系

统调用,应用程序不能干脆调用该方法,用于更新界面,而且每次调用paint()

方法都须要传递画图的画笔Graphics,假如用户想要调用paint()方法,只能

通过调用repaint()方法间接调用Paint()方法。

3.什么是按键事务?什么是指针事务?

答:

(1)按键事务是由键盘引发的事务,在底层用户界面开发中,我们须要自己来

编程处理这类事务。在Canvas类中存在三种处理按键事务的方法,当相关的键

盘按下时,调用相对应的方法。这3种按键事务处理方法是:

protectedvoidkeyPressed(intkeyCode):处理按键按下

protectedvoidkeyReleased(intkeyCode):处理按键释放

protectedvoidkeyRepeated(intkeyCode):处理按键重复按下

以上方法的参数是键码。键盘的每个按键都有一个与之对应的键码,如:

KEY_NUM0,表示数字键0。

⑵在运用了指针设备或者触摸屏的移动设备上产生的事务叫做指针事务。相应

的事务处理方法:

protectedvoidpointerDragged(intx,inty)

protectedvoidpointerPressed(intx,inty)

protectedvoidpointerReleased(intx,inty)

4.什么是嬉戏动作按键?用什么方法取得嬉戏按键功能?

答:

(1)在嬉戏中,对键盘有一些特别的要求,须要用键盘来表示朝哪个方向移动,

或者用键盘来指示开火等,所以MIDP特地为嬉戏设计了嬉戏动作按键,一个键

码对应一个嬉戏动作。MIDP特地为嬉戏设计的动作按键:UP、DOWN、RIGHT.

LEFT、FIRE、GAME_A、GAME_B、GAME_C、GAME_D等。

(2)从键盘事务中得句的keyCode按键代码,可以运用getGameAction()方法

转变为嬉戏动作按键,如:UP、DOWN,LEFT、RIGHT.FIRE、GAME_A、GAME_B>

GAME_C、GAME_D,这样可以推断用户输入按键功能,进而在程序中实现该功能。

5.Graphics对象主要作用是什么?Graphics对象中绘制图形的常用方法有哪

些?

答:Graphics对象供应在Canvas上绘图的实力,绘图可以干脆显示在屏幕上,

也可以保存在内存中取决于Graphics对象来源:

①假如是通过paint()方法参数传入的Graphics对象,那么绘图就干脆显示在

屏幕上,干脆显示在屏幕上的图像无法保存;

②假如用Image对象通过getGraphics()获得Graphics对象,那么绘制的图像

就绘到内存中,绘制到内存中的图像可以保存。

Graphics对象可用于绘制直线、矩形、园、椭圆等几何图形,而且中间还

包括矩形、圆绘制图形的填充。还可以绘制文本并设置颜色,字体、线条粗细等。

Graphics对象中绘制图形的常用方法有:

直线:voiddrawLine(intxl,intyl,intx2,inty2);

矩形:voiddrawRect(intx,inty,intwidth,intheight);

圆角矩形:voiddrawRoundRect(intx,inty,intwidth,intheight,int

arcWidth,intarcHeight);

绘制填充矩形:publicvoidfillRect(intx,inty,intwidth,intheight);

绘制填充圆角矩形:publicvoidfillRoundRect(intx,inty,intwidth,int

height,intarcWidth,intarcHeight);

绘制弧线:voiddrawArc(intx,inty,intwidth,intheight,intstart,int

angle);

绘制填充弧线:voidfillArc(intx,inty,intwidth,intheight,intstart,int

angle);

6.Graphics对象绘制文本的方法是什么?说明其参数含义。

答:调用Graphics对象的如下方法在屏幕上绘制文本:

publicvoiddrawString(Stringstr,intx,inty,intanchor)

其中参数含义:

Stringstr:需显示的字符串

intx,inty:文字显示坐标

intanchor:文字显示的水平或垂直方向对齐方式

7.Image对象的主要功能是什么?从内存的角度来看,Image对象代表着什么样

的内存区域?

答:

⑴可以形象地认为Image对象代表“画布”(Canvas)上的图像区域。

⑵从内存的角度来看,Image对象代表着一块与图像数据及方法对应的内存区

域。

【程序设计】

1.驾驭教材p.l82~183MyCavas类和CanvasHelloMIDlet类程序。

2.驾驭教材p.184-185CanvasHelloMIDlet2类程序。

3.驾驭教材p.188-191HappyPush.java程序。

4.驾驭教材p.l96-198Screensaver程序。

5.驾驭教材p.205-210ImageMove程序。

第10章J2ME嬉戏程序设计

1.在移动电话上开发嬉戏的主要有哪些限制?

答:

(1)屏幕尺寸及辨别率的限制;

(2)存储空间的限制;

(3)网络速度的限制。

2.J2ME嬉戏程序设计有何特点?

答:

(1)J2ME嬉戏程序主程序基本结构与其他MIDlet程序结构相同;

(2)嬉戏MIDlet中可运用Canvas对象绘制图形,对按键的响应功能更加丰富。

3.MIDP中供应了Canvas的扩展类是什么?有何功能?

答:GameCanvas是MIDP中供应的Canvas的扩展类。主要功能是包含嬉戏逻辑

和图形绘制,实现嬉戏中编程所需的全部功能,GameCanvas会在计算迎的内存

中中开拓空间,同时有一个Graphics对象,Graphics对象就像画笔,画面的变

更就通过Graphics对象写入内存,除了画面外,GameCanvas类还供应了键盘事

务处理,以得到键盘的当前状态。

4.在MIDP2.0GameAPI中图层由什么类实现?

答:为了便于操控图像,可以使图像中不同的内容位于不同的层面上,这就是图

层的概念,如让人物和背景位于不同的图层上。对每一图层可以分别管理、操控。

为此,MIDP供应了图层功能,图层由类Layer实现,而多个图层的管理又由

LayerManger类负责。不同的图层叠加在一起形成了一个完整的图像。图层中有

两个特别图层:Sprite和TiledLayer,Sprite存放嬉戏角色,TiledLayer

存放嬉戏背景

5.LayerManger类的主要功能是什么?

答:由于受屏幕大小限制,图像可能无法完全显示出来,LayerManger类供应了

视察窗口ViewWindow,通过移动视察窗口实现图像不同部分的显示。

6.在GameCanvas中检测Sprite是否与其他对象发生碰撞,定义哪两种检测模

式?

答:在GameCanvas中可以通过collidesWith()方法的不同参数的重载形式检测

Sprite与Image、Sprite与Sprite、Sprite与TiledLayer之间是否相遇(即

碰撞检测)。collidesWith。方法中参数pixelLevel表示检测模式,在MIDP2.0

中定义了两种模式:像素模式和边界模式。像素模式用于两个不透亮的像素重叠

的碰撞检测,而边界模式用于边界相接时表示相遇的状况。

7.在MIDP2.0GameAPI中TiledLayer在分网格时,静态索引值和动态索引

值分别从什么值起先?

答:TiledLayer可以将一个大图像分割成网格状,形成许多小的图像,依据须

要将一些小图像组合起来,形成一个完整的图像,TiledLayer在分网格的时候,

这些分割成的小图像都有一个索引值,索引时有动态和静态之分,静态索引值从

1起先计数,动态索引值从T起先计数,动态索引值和静态索引值之间存在关联。

8.什么是嬉戏精灵(Sprite)?

答:

’(1)Sprite是Layer类的子类,负责主要角色图层,这个图层由一个个图像组合

起来,每一个图像称为一帧,每一帧图像依据肯定时间间隔显示出来形成动画;

(2)创建帧的方法如下:

Sprite(Imageimage,intframWeidth,intframeHeight)

(3)帧的依次也就是帧的索引值从0起先,Sprite供应了切换依次的方法:

voidsetFrame(intsequenceindex)

voidnextFrame()

voidprevFrame()

【程序设计】

1.驾驭教材p.216~217KeyEvent类程序。

2.驾驭教材p.217~218程序。

第11.章J2ME的无线消息处理

1.WirelessMessagingAPI规范最新JSR版本是什么?

答:J2ME用于开发基于无线消息服务的应用程序规范主要有Wireless

MessagingAPI1.1(WMA,JSR120)及目前最新版本为WirelessMessaging

API2.0(WMA,JSR205)o

2.VMA支持哪几种无线消息数据服务?各有什么特点?

答:WMA支持文本消息、多媒体消息、小区广播等三种无线消息数据服务。其中:

文本消息:即我们熟知的手机短信;

多媒体消息:即我们熟知的手机彩信,可以传递文本、音频、视频、图片等内容,

实质是以二进制形式传递数据消息;

小区广播:消息由基站广播,移动终端(如手机)可以接收,这种消息传递是单

向的数据传递服务。

3.Message接口的哪两个子类分别代表了文本类型和二进制类型的消息?

答:Message接口定义了不同类型短消息的基础部分,它的两个子类

TextMessage和BinaryMessage分别代表了文本类型和二进制类型的消息。

4.驾驭WMA的主要组件中类名称、方法及功能。

答:WMA的主要组件包括:Message>TextMessage>BinaryMessage、

MessageConnection和MessageListener。

Message接口定义了不同类型短消息的基础部分,它的两个子类TextMessage

和BinaryMessage分别代表了文本类型和二进制类型的消息。

调用BinaryMessage的setPayloadData。和TextMessage的setPayloadText()

方法可以把有效负载数据添加到数据容器中,然后进行发送。

MessageConnection接口是扩展了GCF中定义的Connection接口,

MessageConnection接口供应了newMessage(),send。和receive()方法来创

建、发送和接受消息对象。

MessageListener实现了监听器设计模式用于异步接受消息,当等待消息到来的

时候系统不用堵塞。每次有消息到来的时候,平台会调用MessageListener中定

义的notifylncomingMessage()方法。

【程序设计】

1.驾驭教材p.265~271文本消息发送与接收程序。

第12章J2ME的移动多媒体程序设计

1.什么是

温馨提示

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

评论

0/150

提交评论