ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:28.24KB ,
资源ID:29715643      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29715643.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(XXXXXXXX1手持移动设备应用开发习题参考答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

XXXXXXXX1手持移动设备应用开发习题参考答案.docx

1、XXXXXXXX1手持移动设备应用开发习题参考答案XXXX_XXXX_1_手持移动设备应用开发_习题参考答案第1章 J2ME简介1. 什么是手持移动设备? 答:本课程所谓的手持移动设备是指能随身携带的小型智能电子设备,通常硬件系统应包含处理机、内存和输入输出设备,而软件系统应包含嵌入式操作系统、可安装或卸载 的嵌入式应用软件。目前要紧的手持移动设备有智能手机、PDA等消费类小型电子设备,也能够包括各类便利式嵌入式电子设备。2. 以智能手机为例的手持移动设备,目前要紧有哪些智能手机手持设备操作系统,各自支持何种开发平台?(提示:通过网络搜索查找) 答: 微软公司 操作系统:Windows Mob

2、ile 开发平台:C# .net Nokia公司 操作系统:Symbian 开发平台:Symbian C+ Google公司 操作系统:Android 开发平台:Java Apple公司 操作系统:IOS 开发平台:Objective-C Research In Motion公司 操作系统:BlackBerry 开发平台:Java3. 简述Java三个版本的区不联系,以及本课程采纳J2ME作为开发平台的缘故。答:区不:Java的三个版本分不针对不同的领域。三个版本其差不多语法完全相同,只是按照针对的对象设备不同,API库有些差异。联系:J2SE包含了Java差不多的核心的元素,是J2EE和J2

3、ME的基础。J2EE是Java 的高级版本,在J2SE基础上增加了新的类库,引入了新的技术,要紧用于服务器端的程序;J2ME在J2SE基础上删减了部分内容,还引入了专门的API类库。 缘故:J2ME要紧用于移动设备等小型电子设备的软件开发,本课程针对手持移动设备开发。J2ME有专门的API类库。J2ME是手持移动设备开发目前的主流开发平台,通用性强。4. 手持设备移动开发中与J2ME技术中Configuration、Profile对应的技术名称是什么?答:Configuration:CLDC(Connected Limited Device Configuration,连同意限设备配置) Pr

4、ofile:MIDP(Mobile Information Device Profile,移动信息设备配置简表)5. 什么是MIDlet?答:在J2ME技术平台上按照MIDP规范建立的应用程序。MIDlet是应用程序治理最差不多的单元。J2ME应用程序必须继承MIDlet,然后重写三个事件函数。MIDlet中包含有启动、停止、销毁三个函数和一个构造函数,MIDlet第一调用不带参数的构造函数然后应用程序治理器按照当前的MIDlet的状态,决定调用启动、停止或销毁中的某一个。【教材习题】p.11一、选择题:2、3、4、5二、摸索题:3第2章 J2ME开发环境1. 什么是手机模拟器?答:一种能在P

5、C机上仿真手机软硬件环境及界面,使得手机软件的编程、调试、运行、测试等开发过程能够在PC机的模拟环境中实现的软件系统。2. 简述Wireless ToolKit的功能。答:Sun J2ME Wireless ToolKit (缩写为WTK) 是Sun公司提供的无线开发工具包,是一个包含手机有用工具、类库、文档、实例以及手机模拟器等的开发套件。WirelessToolKit的功能是提供了四种模拟器,利用软件来代替模拟电子设备。如此能够在程序开发成功后不用修改或者仅做简单的修改后就能够将应用程序直截了当下载到手机上运行该应用程序,简化了开发过程,提升了开发效率。3. 简述WTK中四种模拟器名称及功

6、能。答:四种模拟器分不是: Defaultcolorphone 用于具有彩色显示屏幕的手机模拟器 Defaultgrayphone 用于具有单色灰度屏幕的手机模拟器 Mediacontrolskin 用于具有音频和视频操纵功能的手机模拟器 Qwertydevice 用于具有标准打字键盘的手机模拟器4. 请讲明构建基于eclipse构架J2ME编程环境软件安装步骤。答:(1) JDK的安装;(2)WTK的安装;(3)Eclipse的安装;(4)加载EclispeME到Eclipse中;(5)加载WTK到Eclipse中;(6)安装Eclipse简体中文语言包。5. 请讲明MIDlet程序结构及要

7、紧方法功能。答:(1)MIDlet项目程序框架结构必须包括有一个MIDlet主 类,该类中默认包含构造方法及destoryApp()、pauseApp()、StartApp()等3个事件处理方法。(2)构造方法用于初始化MIDlet;destoryApp()用于终止MIDlet;pauseApp()用于暂停MIDlet;startApp()用于启动MIDlet。当设备产生相应事件时,程序会自动调用相应处理方法。(3)J2ME应用程序必须继承MIDlet,然后重写三个事件方法。有关的一组MIDlet可组合在一起,称为MIDlet Suite。一个或多个MIDlet可打包成一个单独的Jar文件,形

8、成一个MIDlet Suite。每个Midlet Suite 中包含继承自MIDlet的类和其他辅助的类,还包含其他的资源。【教材习题】p.2930一、选择题:3、4、5二、摸索题:1、3第3章 CLDC和MIDP API简介1. 简述CLDC特点。答:(1)CLDC:Connected Limited Device Configuration(即有限连接设备配置),只定义了支持最差不多的功能和虚拟机规范的KVM的核心类库。(2)CLDC运行在储备器大小、处理能力和显示能力都受限制的移动信息设备上。要紧针对小型设备,如手机、PDA等(3)在CLDC中Java标准版的一些功能不被支持。2. 简述

9、MIDP功能。答:MIDP(Mobile Information Device Profile,即移动信息设备简表),针对移动电话等,提供了用户界面、网络连接、局部数据储备等增强的功能。【教材习题】p.42一、选择题:4二、摸索题:2第4章 J2ME的用户界面编程1. 简述高层用户界面及底层用户界面的特点?答:用户界面设计分成两大类:高层用户界面和低层用户界面。(1)高层用户界面(抽象描述)高层用户界面是通过高层API类库实现,这类API使用抽象的方法描述用户界面,界面的具体细节依靠不同厂商提供的MIDP实现,因此在界面实现细节上能够不一致,优点是能够在不同设备之间达到高度的可移植性,使用户界

10、面能够适应不同的硬件设备。MIDP中所有高级API类差不多上Screen的子类。(2)底层用户界面(运行感知)底层用户界面是通过底层API类库实现,这类API在运行时能够感知移动信息设备中如显示屏、输入设备等硬件配置,依据硬件配置情形来实现用户界面,能够更精确操纵硬件和更好地发挥硬件性能,缺点是可移植性差,不同的硬件配置需要不同的程序与之对应。2. 简述Display类、DisplayAble类、Screen类功能。答:(1)Display类是系统显示设备治理类,提供取得设备属性和显示方法,能够认为是MIDP显示用户界面的系统级逻辑屏幕;(2) Displayable类代表应用程序各自的逻辑屏

11、幕,系统在同一时刻内只能显示一个Displayable逻辑屏幕,用户只能和那个Displayable类交互; (3) Screen类是继承自Displayable类的屏幕显示类,这类对象能够直截了当在系统屏幕中获得显示,且独占整个屏幕,彼此不能同时分享屏幕显示。可选列表(List类)、提示信息(Alert类)、文本框(TextBox类)、表单(Form)直截了当继承自Screen类。3. 简述Display类与Displayable类的区不联系。答:(1)Display类是系统级的逻辑屏幕, Displayable类是应用程序级逻辑屏幕,两者层次不同;(2)一个设备只有一个系统级逻辑屏幕,能够

12、有多个不同的应用程序级逻辑屏幕;(3)Display类负责治理不同应用程序逻辑屏幕,能够决定哪个应用程序逻辑屏幕在前台的系统级屏幕上显示,同时只有一个应用程序逻辑屏幕能在前台显示,其余应用程序逻辑屏幕能够储存在后台等待在适当时刻显示;(4)能够形象地认为,Display类屏幕是实际能够看到的显示设备,而不同的应用程序有各自的屏幕布局,在需要时将各自屏幕布局显示到那个设备屏幕上。4. 简述Command类要紧功能。答:在MIDP中,Command类代表屏幕菜单命令项,当用户按下一个按钮时,MIDlet能够响应用户的动作。在Sun的J2ME WTK模拟器中,命令按钮被称为soft button(软

13、键),专门用来提供屏幕菜单命令项,但并不负责执行命令,执行菜单命令须依靠于对应的命令事件处理方法。5. 结合Command类使用过程讲明事件处理过程中事件发生者、事件监听者及事件处理者各是哪个对象或方法?答:6. 试讲明setCommandListener()方法要紧作用。答:在事件处理过程中,为了让监听者与它所监听的对象挂钩,需要通过所谓监听注册的方式将两者联系起来,setCommandListener()方法能够监听Command对象发出的事件,那个方法隶属于Dsipayable类,List、Alert、TextBox、Form等 Displayable类型的对象均可调用该方法,建立与监听

14、事件的联系,指定监听什么类型的事件。7. TextBox类与TextField类在使用和功能上有何异同?答:TextBox是Display的子类,TextField是Form的子类。TextBox是一个DisplayAble类,因此它的对象能够直截了当由Display显示,而且TextBox会占满整个屏幕。而TextField是Item类的子类,因此TextField需要加到Form表单中才能显示,而且不独占一个屏幕。8. 什么是Alert类?答:(1)Alert类用于在屏幕上显示信息并能够等待一定的处理时刻的逻辑屏幕,能够等待无限长时刻的称为模态和反之称为非模态。(2)Alert类是Disp

15、layable类的派生类,属于逻辑屏幕类,能够通过取得系统屏幕Display对象获得显示屏,同时独占屏幕,不能与其他Displayable对象同时显现在一个系统屏幕上。9. 什么是List类?答:(1)List类是能够提供具有并列关系的多项内容供用户选择的逻辑屏幕。 (2)List类是Displayable类的派生类,属于逻辑屏幕类,能够通过取得系统屏幕Display对象获得显示屏,同时独占屏幕,不能与其他Displayable对象同时显现在一个系统屏幕上。10. 请简述Form类与item类型组件在编程中的关系。答:(1)Form类是直截了当从Displayable类继承来的,因此具有屏幕特

16、性,这就意味着会独占整个屏幕;(2)引入Form类的好处是尽管Form自己是独占整个屏幕,但它能够作为容器,包含Item类型的组件,以便进行屏幕布局。Form类中能够包括文本域、进度条、选择组等的Item类型的组件;(3)能够在同一个Form中提供多个Item类组件,但Item类组件不能包含于其他 Item类组件,同时另一个Form中的Item类组件也不能同时显示在该Form中,如果必须在多个Form中显示同一个Item类组件,那就必须在下一个Form显示它之前,先将该Item类组件从当前Form中删除,然后才能让该组件显示在新的Form中。11. 什么是Gauge类?答:Gauge是一种能够

17、图形化地表示数值范畴大小的进度条,能够通过直观的图形来显示或修改一个变量的大小值,最小值是0,最大值由程序员设置。能够分为交互和非交互两种类型。答:13.简述DateField类的功能。答:(1)DateField类能够在屏幕上显示日期和时刻(2)DateField类是从Item派生出来的,能够放置在窗体中。14.简述Timer类和TimerTask类功能。答:(1)Timer类对象的要紧功能是作为定时器,而由Timer类对象定时执行的任务由TimerTask类对象定义。(2)使用Timer对象的schedule方法能够调度TimerTask任务。【教材习题】p.85一、选择题:6【程序设计】

18、1. 把握教材p.51 TickerEample类程序。2. 把握教材p.54 Commander类程序。3. 把握教材p.5960 TwoAlerts类程序。4. 把握教材p.5960 Gauge1类程序。5. 把握教材p.74程序片断功能。6. 把握教材p.7981星空模拟程序。第5章 J2ME数据库编程1. 什么是RMS? 答:(1)在J2ME中定义了一个简单的基于记录的数据记录治理系统(Record Management System,RMS)。(2)RMS不同于在PC机或者是服务器上运行的数据库治理系统,RMS仅提供最差不多的数据治理功能 。(3) 记录储备机制是由RecordSto

19、re类实现。2. 什么是记录?答:(1)在Record Store中储备的每一条数据称为记录(record)。(2)在RMS中每一条记录的数据都存放在一个byte数组中,每一条记录由惟一的recordId来标识。(3)在RMS中,能够在一个打开的Record Store中添加、删除、检索和修改记录。3. RMS如何监听记录变化?答:RMS使用记录监听接口RecordListener来监视记录的变化。当一个Record Store中的记录发生变化时,RecordListener就会被触发执行相应的事件处理方法。使用下面的事件处理函数来响应相应的事件:void recordAdded()void

20、recordChanged()void recordDeleted() 6. 记录储备系统高级操作中4个记录接口对象是什么?各有什么作用?答:4种高级接口分不是:记录枚举接口(RecordEnemeration)、记录过滤接口(RecordFilter)、记录比较接口(RecordComparator)、记录监听接口(RecordListener)。记录枚举接口:能够从记录储备系统中取得符合条件的多个记录,并在这些记录中前后扫瞄,以便对某条记录操作;记录过滤接口:能够用来过滤出符合条件的数据记录;记录比较接口:对数据记录排序进行比较;记录监听接口:用于监听记录数据增加、删除和改变事件的发生7.

21、 请讲明为何在增加或修改记录时需要借助DataOutputStream、ByteArrayOutputStream对象,而在猎取记录时需要借助DataInputStream、ByteArrayInputStream对象。答:(1)在J2ME的记录储备系统中数据只能以字节数组类型(byte )储存,但在实际应用中记录类型有多种,如字符型、字符串型、整型、浮点型、逻辑型等。以增加记录为例,方法是public int addRecord( byte data, int offset, int numBytes ),从该方法的第1个参数能够看出添加的记录类型必须是byte,这就要求在使用添加记录方法a

22、ddRecord()前第一将其他数据类型转换为byte型数据,然后才能使用那个方法。这时需要DataOutputStream、ByteArrayOutputStream两个类的对象配合完成那个工作。转换过程的代码片断如下:DataOutputStream、 ByteArrayOutputStream这两个类配合能够完成将数据转换为字节型数据的工作,方法如下: /第一创建一个ByteArrayOutputStream 对象,那个对象能够将得到的数据转换化字节数组型数据输出 ByteArrayOutputStream bs=new ByteArrayOutputStream ();/将ByteAr

23、rayOutputStream 对象作为参数,创建与那个对象关联的DataOutputStream 对象, DataOutputStream 对象提供了将各种差不多JAVA数据类型转换为数据输出流的方法 DataOutputStream ds=new DataOutputStream( bs );/调用DataOutputStream 对象的方法writeInt()将int型 数据转换为数据输出流,以便传递给ByteArrayOutputStream 对象;ds.writeInt();ds.close();/将ByteArrayOutputStream 对象中的字节数组数据取出存入字节数组 b

24、中 byte b=bs.toByteArray();(2)同样在猎取记录时,直截了当从记录储备系统中得到的数据是字节数组类型,需要按照实际应用需要转换成相应的其他数据类型,那个转换过程需要DataInputStream 、 ByteArrayInputStream这两个类的对象配合完成那个工作 。转换过程的代码片断如下:/ 从记录储备系统中取得字节数组型数据存入b中 byte b =rs.getRecord(id);/创建与b关联的ByteArrayInputStream 型对象baisByteArrayInputStream bais=new ByteArrayInputStream(b);

25、/建立与bais关联的DataInputStream 对象disDataInputStream dis=new DataInputStream (bais);/调用DataInputStream 对象的 readUTF()将得到的数据转换成UTF格式字符串; dis.readUTF(); /dis.readInt( );将得到的数据转换成int型数据 dis.close( );【教材习题】p.119120一、选择题:1、2、3、4、6二、摸索题:6【程序设计】1. 把握教材p.87 RecordStoreTest类程序。2. 把握教材p.90 RecordAdd类程序。3. 把握教材p.91

26、RecordDel类程序。4. 把握教材p.9294 TestRecord类程序。5. 把握教材p.9597 RecordListenerExample类程序。第6章 J2ME网络编程1. javax.microedition.io包在网络编程中有什么作用?答:(1)javax.microedition.io包的目的是实现通用的网络通信和本地I/O 。(2)javax.microedition.io里包含了一个类、9个接口和一个专门2. 简述Connection接口功能。答:Connection接口提供了网络连接的功能,这是一个通用接口类型,只定义了close方法,没有定义open方法,因为打

27、开接口使用Connector.open() 方法。3. 举例讲明如何编程实现打开连接读取数据。答:实现打开连接读取数据的程序片断如下: /创建并打开连接对象,强制转换为相应的连接对象类型ContentConnection connection=(ContentConnection) Connector.open(url)/创建并打开相应连接对象的输入数据流InputStream_istm=connection.openInputStream();/取得连接对象中数据流的长度int len=(int)connection.getLength();if(len!=-1) /如果输入数据流长度不为空

28、 bytedata=new bytelen; /按输入数据流长度创建字节数组 istm.read(data); /从输入数据流中读取数据到字节数组中istm.close(); /关闭输入数据流connection.close();/关闭连接对象5. Connection支持哪些常见的子接口?答:InputConnection接口、OutputConnection接口、StreamConnection接口、ContentConnection接口、StreamConnectionNotified接口、DatarramConnection接口等。6. 什么缘故在网络连接编程中要采纳多线程技术?答:网

29、络连接是有可能堵塞的操作,为了高效运行程序,有必要引入多线程设计。J2ME仍旧采纳继承Thread类实现线程类,或实现Runnable接口来实现线程操作,调用Thread中的start()方法启动线程操作的方法run()。【程序设计】1. 把握教材p.123124 GetURLContent类程序。第9章 J2ME的低级用户界面设计1. 能够在一个MIDlet中同时使用高级用户界面API和低级用户界面API吗?答:能够在一个MIDlet交互使用高级用户界面API和低级用户界面API,然而不能同时使用两种类型的API。2. 请从继承关系讲明什么缘故Canvas类本质上是一种屏幕类?Canvas类

30、本身又是各种底层用户界面类的什么类?(提示:参考WTK Documentation)答:(1)从继承关系来看,Canvas类继承于Displayable类,因此本质上也是一个屏幕类。(2)Canvas类是底层界面编程基类,是一个抽象类,编程时必须继承该类并实现其paint()方法。2. 在实际编程中通常需要重写Canvas类什么方法?应用程序是否能够直截了当调用那个方法?讲明能或不能直截了当调用的理由。答:在实际编程中通常需要重写Canvas类的paint()方法;paint方法只能被系统调用,应用程序不能直截了当调用该方法,用于更新界面,而且每次调用paint()方法都需要传递画图的画笔Gr

31、aphics,如果用户想要调用paint()方法,只能通过调用repaint()方法间接调用Paint()方法。3. 什么是按键事件?什么是指针事件?答:(1)按键事件是由键盘引发的事件,在底层用户界面开发中,我们需要自己来编程处理这类事件。在Canvas类中存在三种处理按键事件的方法,当有关的键盘按下时,调用相对应的方法。这3种按键事件处理方法是:protected void keyPressed( int keyCode ):处理按键按下protected void keyReleased( int keyCode ):处理按键开释protected void keyRepeated( int keyCode ):处理按键重复按下以上方法的参数是键码。键盘的每个按键都有一个与之对应的键码,如:KEY_NUM0,表示数字键0。(2)在使用了指针设备或者触摸屏的移动设备上产生的事件叫做指针事件。相应的事件处理方法:protected void pointerDragged(int x, int y)protected void pointerPressed(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1