华软J2me移动开发编程复习题 必考.docx
《华软J2me移动开发编程复习题 必考.docx》由会员分享,可在线阅读,更多相关《华软J2me移动开发编程复习题 必考.docx(23页珍藏版)》请在冰豆网上搜索。
华软J2me移动开发编程复习题必考
J2me移动开发编程期末复习题
一、填空题
1.Sun公司开发KVM(K虚拟机)主要目的是为使用16/32位RISC/CISC微处理器或控制器且内存空间受限的设备而开发的依赖目标平台的虚拟机。
运行KVM的移动设备的内存空间最少为160KB。
2.以下Java包中:
java.io、java.lang、、java.util,哪一个不是JavaMECLDC1.0所定义的。
。
3.CLDC是为了使用资源受限的、连接受限的较小设备定制的一个Java应用开发规范。
用于CLDC配置的虚拟机是KVM。
4.通常JavaMe平台由一个CLDC和一个或多个MID简表构成。
其中支持实型数据类型(包括float和double类型)的是MIDP2.1。
5.小王正在用他的移动电话玩“俄罗斯方块”的Java游戏时,他的朋友的电话打进来了,于是小王接听电话。
这时“俄罗斯方块”的MIDlet应用程序处于生命周期的什么状态Paused状态。
6.JavaMe程序都是从MIDlet类开始执行,当启动一个MIDlet时,应用程序管理器会首先创建一个MIDlet实例并使得它处于Puased状态,当startApp()方法调用时,MIDlet进入Active状态。
7.通常JavaMe平台由一个CLDC和一个或多个MID简表构成。
其中支持OTA(Over-The-Air)应用程序下载的是MIDP2.0。
8.Display类是获取屏幕属性和控制屏幕显示的关键类,获得Display类对象的方法是(参数略):
(Display.getDisplay(...))
9.MIDlet应用程序必须实现MIDlet的抽象方法,哪些抽象方法是MIDlet应用程序必须实现的:
startApp(),pauseApp(),destroyApp()。
10.J2ME程序的开发流程中(编译、混淆、预审核、打包、安装运行),哪一个步骤是可选的。
混淆。
11.J2ME程序的开发流程中,由于*.class文件格式是透明的缘故,*.java文件很容易被反汇编,因此如果不希望别人看到源代码,一定要进行哪一个步骤。
混淆
12.属于J2ME体系结构中的内容是:
Configurations、Profiles、OptionalPackages。
13.通常将一个或多个MIDlet、资源文件及jarmanifest等内容打包在一起形成一个以.jar为扩展名的文件(称为MIDlet套件),该.jar包的主要内容有实现MIDlet的所有类文件、关于.jar文件内容的manifest.cf文件、MIDlet所用到的所有资源文件。
14.代码混淆最不适合在什么时候采用手机程序编写的时候。
15.J2ME用户界面组件分为高阶用户界面组件和低阶用户界面组件,Displayable类是Screen类和Canvas类的父类、Screen类属于高阶用户界面组件、Canvas类属于低阶用户界面组。
16.WTK是Sun公司所提供的一个无线开发工具包,在WTK2.5版本中新建一个JavaMe项目,其中MIDlet程序需要采用图标文件“\Midlet.png”,则Midlet.png的文件位置的相对目录为res。
17.Eclipse是IBM公司资助的一款非常出色和著名的开源项目,在Eclipse中新建一个JavaMe项目工程时,在Eclipse平台上应该选择新建J2meMidletSuite。
18.在JavaMe用户界面体系结构中,Displayable类包含Screen和Canvas两个子类,Screen类是高级用户界面的父类,它包含四个子类,分别为Alert、List、TextBox和Form。
19.Form是J2ME里面比较重要的容器类型,它必须配合Item类来使用,TextField、ChoiceGroup和TextBox中不属于Item类的子类的是:
TextBox。
20.List和ChoiceGroup类都实现了哪一个接口Choice。
21.J2ME的MIDP1.0标准版本,支持的图像格式是:
png。
22.利用Runnable接口实现线程必须复写run()方法,这个run()方法是由哪一个方法调用的start()。
23.在MIDP中,事件处理分为低级事件处理和高级事件处理。
高级事件处理是指通过类似菜单命令的方式来接受用户输入,高级事件处理的原理就是回调机制,具体来讲,J2me中定义了一些事件监听接口,这些接口定义了一些方法,当用户触发事件发生时,哪么监听接口中的事件会被调用来处理相关的用户操作。
这些监听器中用来处理ChoiceGroup选择项被改变的监听器为:
ItemStateListener。
24.关于ALert类下面描述正确的是:
先发出一段声音,然后将自己秀在屏幕上,过一段时间之后,它会自动跳回之前的画面;必须在显示Alert之前定义好它可以跳回的画面,否则会发生异常;如果想要Alert一直保持在自己的画面上,就要使用方法FOREVER()。
25.Item类的子类中,哪一个在与Form类结合使用的时候能生成进度条的效果:
Gauge。
26.JavaMe高级用户界面设计中,不能与用户交互的组件为Spacer。
27.在Command之中共定义了八种命令型态,,其中优先级最高的是优先级数字低的优先级高。
28.TextBox类用于输入数据,其中该类针对输入类型定义了几个限制约束,其中代表只能输入数字的是:
NUMERIC。
29.ChoiceGroup对象描述了一组放置在表单上的可选择的选项。
类似于List类,它也实现了Choice接口,而且还继承了Item抽象类。
MIDP2.0中ChoiceGroup分三种类型,哪一种类型不是ChoiceGroup类型Choice.IMPLICIT。
30.在处理图形时,常常会用到Image类。
根据Image对象产生的方式不同,可分为可修改(mutable)和不可修改(immutable)两种。
以下产生的Image对象,使用createImage(intwidth,intheight)新建的Image对象是属于可修改的Image对象。
31.以下哪些类和接口可以实现线程的运作(Runnable接口、Thread类、TimerTask类 )
32. 关闭或删除一个记录仓库,正确操作的是:
在删除记录仓库之前应确保它是处于关闭状态的,否则抛出异常。
33. 以下对记录仓库描述正确的是:
一旦数据写入记录仓库之后,其RecordID就不会再改变。
34.使用RecordComparator接口compare方法实现记录之间的比较,compare(byte[]rec1,byterec2)。
该方法返回整型值,对于比较结果以下描述正确的是:
返回整数1,表示记录rec1与记录2比较后的位置是记录rec2之后;返回整数-1,表示记录rec1与记录2比较后的位置是记录rec2之前;返回整数0,表示记录rec1与记录2比较后的位置是与记录rec2相等。
35.下面对记录管理系统(Record Management System, RMS)存储机制是:
RMS按照二进制数据(字节数组)的方式进行存储。
36.以下哪一个选项是使用GenericConnectionframework,打开一个HTTP连接的正确用法:
HTTPConnectionc=Connector.open("")。
37.远程通讯的基本连接框架中不管采用哪种方式和外界沟通,都必须使用Connector类的什么方法:
open()。
38.远程通讯技术中基本连接框架可以采用多种方式与外界沟通,下面列出了几种连接方式,其中不能使用其进行连接的是:
使用HTTP与外界进行沟通。
39.MIDP2.0中多媒体API包含了基本的多媒体功能,是MMAPI的一个子集。
在MMAPI应用开发中,用到的类和接口有Manager,Control,DataSource和Player等。
任何多媒体数据的播放,都一定要使用的类为:
Player。
40.J2ME中设备的配置是针对某一类设备的最小Java平台,它包括满足该类设备的虚拟机运行的最小子集和针对该类设备的核心类库的最小子集。
目前J2me可用类库有两种:
,其中:
CDC(面向连接设备配置) 采用CVM(或C虚拟机)虚拟机,适用高端信息家电。
CLDC(面向连接受限的设备配置) 采用KVM(或K虚拟机)虚拟机,适用低端信息家电。
41.J2me平台结构体系包括配置(Configurations)和简表(MID),以及可选包(OptionalPackages)J2me平台由一个CLDC和一个或MID简表构成,一个MIDP应用程序称为MIDlet ,它只能使用MIDP和CLDC规范中所定义的API。
42.J2me程序都是从MIDlet类开始执行,一个MIDlet的继承类必须实现MIDlet类的三个抽象方法,即startapp()、pauseapp()和destroyApp(booleanu),当启动一个MIDlet时,JAM(应用程序管理器)会首先创建一个MIDlet实例并使它进入Paused状态,当startapp()方法调用时,MIDlet进入Active状态。
43.J2ME用户界面组件分为高级用户界面组件和低级用户界面组件。
Displayable是所有用户界面组件的父类,Screen是高级用户界面用户界面的父类,Canvas是低级用户界面用户界面的父类。
44.低级用户界面提供了大量的事件处理选项,其中键盘事件处理方法中,keyRepeated(intkeyCode)方法是用来处理键盘按键的长时间按下事件的。
keyPressed()方法是用来处理键盘按键的按下事件的,keyReleased()方法是用来处理键盘按键的释放事件的。
45.以下是一个创建记录仓库的示例,
privateRecordStorers=null;
try{
rs=RecordStore.openRecordStore(“Rmstest”,false);
}
catch(Exceptione){}
该示例创建记录仓库名为Rmstest,如果该记录仓库不存在则抛出异常。
46.在记录库增加一条新的记录时,publicintaddRecord()方法抛出RecordStoreFullException异常,该异常表示发生RMS空间已满错误。
数据写入记录仓库后,如果删除该记录后,该记录ID号不再重新使用。
47.通用连接框架GCF中Connection接口是最基本的通用连接类型,它是所有连接接口的根源。
用于支持标准HTTP请求的接口为HttpConnection。
48.WMA是通用连接框架GCF的一个可选包。
它定义了所有用于发送、接收短消息的接口。
所有WMA组件都定义在javax.wireless.messaging包内。
WMA定义的组件主要有:
Message、TextMessage、BinaryMessage、MessageConnection和MessageListener。
49.HTTP协议是互联网传输文档的协议,对于HTTP请求消息来说,常用的请求方法有GET、POST和HEAD。
其中POST请求是将Web表单作为一个整体向URL发送数据。
HEAD请求是用来在服务器上检索元数据。
50.在记录库增加和删除记录时,在记录库增加一条新的记录,publicintaddRecord()方法返回一个整型数值,该数值代表新记录ID号。
数据写入记录仓库后,删除该记录后,该记录ID号不再重新使用。
51.通用连接框架GCF中Connection接口是最基本的通用连接类型,它是所有连接接口的根源。
用于支持标准HTTP请求和安全连接网络HTTP服务的接口分别为HttpConnection和HttpsConnection。
52.在MIDP2.0中,使用MIME类型来区分不同的媒体格式MIME类型是使用字符串来描述的,如WAV声音对应的MIME字符串为“audio/x-wav”,MP3声音格式对应MIME字符串为audio/mpeg,MPEG视频格式对MIME字符串为video/mpeg。
53.J2me程序都是从MIDlet类开始执行,一个MIDlet的继承类必须实现MIDlet类的三个抽象方法,即startApp()、pauseApp()和destoryApp()。
如果想在开机时,手机屏幕首先显示该手机所用软件的版权信息,就需要在startApp()方法中添加相应的代码。
54.Graphics类是低级用户界面中十分重要的类,其绘图坐标系原点在Canvas的左上角位置。
Graphics画线、填充或文本颜色初始值为黑色。
55.以下是一个创建记录仓库的示例,
privateRecordStorers=null;
try{
rs=RecordStore.openRecordStore(“testRMS”,true,AUTHMODE_ANY,false);
}
catch(Exceptione){}
该示例创建记录仓库“testRMS”,其他MIDletSuite对该记录仓库是否可读可以,是否可写不可以。
56.在记录库增加一条新的记录时,publicintaddRecord()方法抛出RecordStoreFullException异常,该异常表示发生RMS空间已满错误。
数据写入记录仓库后,如果删除该记录后,该记录ID号不再重新使用。
57.MMAPI媒体数据的处理包括两个部分:
媒体数据传输协议的处理过程和媒体数据内容的处理过程。
MMAPI使用DataSource对象来处理媒体数据传输协议的过程,使用Player对象来处理媒体数据内容。
58.基于传输层的不同协议,网络上的连接可以分为两种:
基于TCP的流连接及基于UDP的数据报连接。
因此在JavaMeGCF中定义了StreamConnection接口用于基于传输流的网络连接和DatagramConnection接口用于基于数据报的网络连接。
二、判断题
1.用于CLDC配置的虚拟机是KVM,KVM常用的一个可选的附件是Java应用程序管理器(JavaApplicationManager,JAM)。
它负责CLDC设备上J2me应用程序的下载、安装、更新和删除。
(√)
2.CLDC是为使用资源受限的、连接受限的较小设备指定的一个Java应用开发规范。
CLDC1.0的类库保留了Java规范中定义的最核心的三个包:
java.io、java.lang和java.util。
这三个包和J2se中三个核心包完全一样。
(×)
3.MIDlet发生异常退出程序之前会自动调用destroyApp(booleanu)方法,如果参数为true,则代表该方法立即销毁状态,如果为false,则表示必须清理和释放资源,再进入销毁状态。
(×)
4.在J2me应用程序开发过程中,我们通常将一个J2me应用项目称之为J2meMidletSuite。
(√)
5.MIDlet套件包括附在JAR文件中Java类文件、描述JAR文件内容的清单文件以及其他资源文件。
(√)
6.使用TextBox实现输入框时,决定使用的限制类型为只能输入数字类型的密码限制,其限制符为:
NUMERIC|PASSWORD。
(√)
7.Item类的子类中,ChoiceGroup与Form类结合使用的时候能生成与使用List时相似的效果。
(√)
8.在Command之中共定义了Command.BACK、Comamnd.EXIT等八种命令型态,这些命令在移动设备对应的按键只由命令的优先级决定。
(×)
9.下面是按键事件,程序编码是否正确(×)
publicvoidkeyPressed(intcode){
intaction=getGameAction(code);
if(action=FIRE){
System.out.println(“FIREPressed!
”);
}
}
10.MIDP规范中,Canvas类定义了KEY_NUM0~KEY_NUM9分别代表0~9的数字键,而KEY_POUND代表“*”键。
(×)
11.当一个记录仓库不再使用时就要关闭或删除它,在删除记录仓库之前应确保它是处于关闭状态的,否则抛出异常。
(√)
12.MMAPI中,用Player对象播放多媒体文件时,Player对象可能有5种状态,分别是UNREALIZED、REALIZED、PREFETCHED、STARTED和CLOSED状态。
(√)
13.CLDC是为使用资源受限的、连接受限的较小设备指定的一个Java应用开发规范。
CLDC1.0的类库保留了Java规范中定义的最核心的三个包:
java.io、java.lang和java.util。
这三个包和J2se中三个核心包完全一样。
(×)
14.JavaME主要用于开发信息家电应用程序。
由于受设备内存和处理器的限制,其内库比较小,在对JavaSE的内库作了裁减的基础上增加了若干新的特性。
JavaME针对的设备主要是嵌入式和消费类设备。
(√)
15.MIDlet发生异常退出程序之前会自动调用destroyApp(booleanu)方法,如果参数为false,MIDlet会抛出一个MIDletStateChangeException异常,并保持在当前状态,如果此时调用了notifyDestroyed()方法可使MIDlet进入到销毁状态。
(√)
16.Display是一个独立的、有固定尺寸的、有特定应用程序所控制的窗口。
Display的主要作用一是获取屏幕属性;二是控制屏幕显示。
在一个MIDlet应用程序中可以创建多个Display对象。
(×)
17.在Eclipse平台上创建J2me工程的顺序为【File】-【New】-【J2ME】-【J2MEMidletSuite】,创建MIDlet的顺序为【File】-【New】-【Other】-【J2ME】-【J2MEMidlet】。
(√)
18.使用TextBox实现输入框时,决定使用的限制类型为只能输入任何字符或数字的密码限制,其限制符为:
NUMERIC|PASSWORD。
(×)
19.Item类的子类中,可以利用CustomItem创建自己的窗体项目,CustomItem是一个介于高级和低级之间的用户界面,通常称为增强型图形用户界面。
(√)
20.Command对象只有与具体的Displayable对象及执行代码进行关联才能发挥作用。
为了建立Command对象与Displayable对象的关联,需要使用Displayable的addCommand()方法,同时Displayable必须使用addCommandListener()注册监听器。
(√)
21.下面是按键事件,程序编码是否正确(×)
publicvoidkeyPressed(intcode){
intaction=getGameAction(code);
if(action=FIRE){
System.out.println(“FIREPressed!
”);
}
}
22.MIDP规范中,Canvas类定义了KEY_NUM0~KEY_NUM9分别代表0~9的数字键,而KEY_STAR代表“#”键。
(×)
23.当一个记录仓库不再使用时就要关闭或删除它,在删除记录仓库之前应确保它是处于关闭状态的,否则抛出异常。
(√)
24.MMAPI中,用Player对象播放多媒体文件时,Player对象可能有5种状态,分别是UNREALIZED、REALIZED、PREFETCHED、STATED和CLOSED状态。
(√)
25.CLDC是为使用资源受限的、连接受限的较小设备指定的一个Java应用开发规范。
CLDC1.0的类库保留了Java规范中定义的最核心的三个包:
java.io、java.lang和java.util。
并且使用包解决J2me应用的联网问题。
(×)
26.MIDP规范定义了能在Java移动设备上运行Java程序的规范,包括应用程序生命周期,各种用户界面组件,支持存储和网络连接等。
换言之,MIDP规范定义了移动信息设备的类型和提供相关的API集合。
(√)
27.J2me通常会包一个或多个MIDlet、资源文件及manifest文件打包为MIDletSuite,此外,MIDletSuite还通常需要一个.jad的描述文件。
(√)
28.Display是一个独立的、有固定尺寸的、有特定应用程序所控制的窗口。
Display的主要作用一是获取屏幕属性;二是控制屏幕显示。
在一个MIDlet应用程序中可以通过new方法创建一个Display对象。
(×)
29.一般来讲,将J2me应用程序装入手机有以下几种方式:
(√)
通过数据线和计算机同步软件;
直接通过无线网络下载装入;
通过WAP网站的无线方式下载装入。
30.在使用TextBox显示“广州大学华软软件学院”时,TextBox的构造方法为TextBoxtext=newTextBox(“标题”,“广州大学华软软件学院”,8,TextField.ANY),这个构造函数是否正确。
(×)
31.Command对象只有与具体的Displayable对象及执行代码进行关联才能发挥作用。
为了建立Command对象与Displayable对象的关联,需要使用Displayable的addCommand()方法,同时Displayable必须使用addCommandListener()注册监听器。
(√)
32.Spacer组件专门用来在Form中加入一些空白间隔。
它不能使用addCommand或setDefaultCommand加入Command与用户交互。
(√)
33.下面是按键事件,程序编码是否正确(×)
publicvoidkeyPressed(intcode){
intaction=getGameAction(code);
if(action=FIRE){
System.out.println(“FIREPressed!
”);
}
}
34.根据Image对象的产生方式不同,Image对象可分为可修改和不可修改两种。
通过从其他可修改的Image对象作为源产生的Image对象是可修改的。
(×)
35.每个MIDletSuite都有自己专属的记录管理系统,供套件内MIDlet存储数据,只要是MIDletSuite中的MIDlet,除了可以存取自己的RMS空间外,还可以存取MIDletSuite内部其他的RMS空间。
当从设备上删除一个MIDletSuite时,与MIDletSuite相关的记录库不会被删除。
(×)
36.MMAPI中,使用MIME类型来区分不同的媒体格式。
MIME类型是使用