手持移动设备应用开发测验参考完整答案
- 格式:doc
- 大小:82.50 KB
- 文档页数:15
移动线上考试题库及答案一、选择题1. 移动通信技术中,4G指的是什么?A. 第一代移动通信B. 第四代移动通信C. 第五代移动通信D. 无线局域网答案:B2. 以下哪个是移动设备常用的操作系统?A. WindowsB. macOSC. AndroidD. Linux答案:C3. 移动应用开发中,HTML5主要用于开发什么类型的应用?A. 桌面应用B. 移动应用C. 服务器应用D. 嵌入式系统应用答案:B二、判断题1. 移动设备通常具有较小的屏幕尺寸,因此不适合进行复杂的图像编辑工作。
()答案:错误。
现代移动设备拥有高分辨率的大屏,配合专业软件,可以进行复杂的图像编辑工作。
2. 移动设备上的应用程序可以通过蓝牙技术与其他设备进行通信。
()答案:正确。
三、简答题1. 请简述移动设备与传统桌面计算机在性能和使用场景上的主要区别。
答案:移动设备通常具有便携性,适合在移动环境中使用,其性能可能不如传统桌面计算机,但随着技术的发展,许多移动设备已经具备了强大的处理能力。
移动设备更侧重于触控操作,而桌面计算机则更侧重于键鼠操作。
使用场景上,移动设备适合快速访问信息、社交媒体、移动办公等,而桌面计算机更适合进行复杂的数据处理、图形设计和大型软件运行。
2. 描述移动应用开发过程中可能遇到的一些技术挑战。
答案:移动应用开发过程中可能遇到的技术挑战包括但不限于:不同操作系统和设备的兼容性问题、屏幕尺寸和分辨率的适配问题、电池和内存资源的限制、网络连接的不稳定性、以及用户界面(UI)设计的优化等。
四、论述题1. 论述移动线上考试系统的优势和可能面临的挑战。
答案:移动线上考试系统的优势包括:方便考生随时随地参加考试,提高了考试的灵活性和便捷性;可以实时收集和分析考试数据,便于教师评估学生的学习情况;减少了纸质试卷的使用,符合环保理念。
然而,移动线上考试系统也可能面临一些挑战,如考试的安全性问题,防止作弊行为的发生;网络稳定性问题,确保考试过程中数据传输的顺畅;以及考生对移动设备操作的熟练度,可能会影响考试的公平性。
《移动应用开发》试题题目:1.请实现点击按钮拨打电话功能。
(20分)2.请实现点击按钮改变文本控件颜色的功能。
(30分)3.请实现使用socket通信的服务器端代码。
(50分)要求:逻辑结构完整,答案要点突出,论述充分,每题答案字数不少于400字。
答案不得完全照抄书本或其他资料,不得互相抄袭。
中南大学网络教育课程考试《移动应用开发》答卷本人承诺:本试卷确为本人独立完成,若有违反愿意接受处理。
签名:______________学号:____________________专业:__________________学习中心:_________________1.答:①private Button btn2;②btn2=(Button)findViewById(R.id.btn2);//在xml中把button2改成btn2,为该按钮的id③btn2.setOnClickListener(new OnClickListener(){});④在OnClick()Intent in2 = new Intent();in2.setAction(Intent.ACTION_CALL);//指定意图动作in2.setData(Uri.parse("tel:1836380000"));//指定电话号码startActivity(in2);⑤在android系统中,所有系统请求,必须要在androidmainfest.xml中注册在<application上面<uses-permission android:name="android.permission.CALL_PHONE"/>MainActivity.java:package com.example.qq;import .Uri;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.content.DialogInterface;import android.content.Intent;import youtInflater;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity {private Button btn;private Button btn2;private EditText et;private EditText et2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);et = (EditText)findViewById(R.id.editText1);et2 = (EditText)findViewById(R.id.editText2);btn2 = (Button)findViewById(R.id.btn2);btn = (Button)findViewById(R.id.button1);btn.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubfinal String str = et.getText().toString().trim();final String str2 = et2.getText().toString().trim();if (str.equals(str2)){Intent in = new Intent(MainActivity.this,SecActivity.class);startActivity(in);}else{System.out.println("");}}});btn2.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubIntent in2 = new Intent();in2.setAction(Intent.ACTION_CALL);in2.setData(Uri.parse("tel:"));startActivity(in2);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu);return true;}}androidmainfest.xml:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android=""package="com.example.qq"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="17"android:targetSdkVersion="17" /><uses-permission android:name="android.permission.CALL_PHONE"/><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name="com.example.qq.MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="UNCHER" /></intent-filter></activity><activityandroid:name="com.example.qq.SecActivity"android:label="@string/title_activity_sec" ></activity></application></manifest>1.①Android Layout文件Layout文件,用来呈现一个拨打电话的按钮。
物联网移动应用开发习题答案(上)物联网移动应用开发习题答案(上)物联网(Internet of Things, IoT)是指通过对物品的互联和智能化处理,实现物品之间的信息传递和交互,进而提供更为便捷和智能的服务。
而随着移动应用的飞速发展,物联网移动应用的开发也成为了一项重要而具有挑战性的任务。
本文将针对物联网移动应用开发的一些常见习题进行解答,帮助读者更好地理解和掌握该领域的知识。
一、物联网移动应用的基本原理物联网移动应用开发的基本原理是将传感器、嵌入式系统和移动设备进行无线连接,实现设备之间的数据交互和控制。
为了达到这一目的,开发者需要掌握以下几方面的知识:1. 使用什么样的开发平台?物联网移动应用开发可以选择使用主流的移动开发平台,如Android和iOS。
开发者可以根据具体需求和目标用户选择合适的平台,并结合硬件设备的兼容性进行开发。
2. 如何进行设备间的通信?在物联网移动应用开发中,设备之间的通信可以通过无线网络进行,如Wi-Fi、蓝牙或者NFC等。
开发者需要了解各种通信技术的特点和适用场景,并根据实际需求选择合适的通信方式。
3. 如何实现传感器数据的获取和处理?传感器是物联网移动应用中重要的组成部分,开发者需要了解传感器的类型、工作原理和数据采集方式。
同时,还需要掌握数据的处理和分析方法,以便将传感器采集到的原始数据转化为有用的信息。
二、常见习题解答1. 如何获取手机的加速度信息?在Android平台上,开发者可以使用传感器API中的加速度传感器来获取手机的加速度信息。
首先,需要在应用程序中注册加速度传感器,并实现SensorEventListener接口来监听传感器的数据变化。
然后,在回调方法中处理加速度数据,并根据需求进行相应的操作。
2. 如何实现手机与智能家居设备的远程控制?要实现手机与智能家居设备的远程控制,可以使用Wi-Fi或者互联网进行通信。
首先,需要在智能家居设备上部署一个服务器,用于接收来自手机的控制指令。
移动应用开发工程师面试题及答案一、基础理论知识1、请简要介绍一下移动应用开发的常见平台(如 iOS、Android 等),并说明它们的主要特点。
答案:iOS 平台具有封闭性和高度的安全性,其应用审核严格,用户体验较为一致。
它的开发语言主要是 ObjectiveC 和 Swift,开发工具是 Xcode。
Android 平台则具有开放性,设备多样性大,应用分发渠道多。
其开发语言主要是 Java 和 Kotlin,开发工具包括 Android Studio 等。
iOS 通常在性能优化和用户界面设计方面有较高的要求,而 Android 则需要考虑不同设备的兼容性。
2、什么是移动应用的响应式设计?在开发中如何实现?答案:响应式设计是指应用能够根据不同的屏幕尺寸、分辨率和设备方向,自动调整布局和显示效果,以提供最佳的用户体验。
实现响应式设计可以通过使用弹性布局、媒体查询、自适应图片等技术。
比如,使用 CSS 的媒体查询可以根据屏幕宽度设置不同的样式规则,确保在不同设备上的显示效果都合适。
3、谈谈你对移动应用性能优化的理解,包括常见的优化方法。
答案:移动应用性能优化旨在提高应用的响应速度、降低资源消耗和提高稳定性。
常见的优化方法包括:减少网络请求次数和数据量,优化图片加载,合理使用缓存,避免内存泄漏,优化算法和数据结构,以及对界面渲染进行优化等。
例如,通过压缩图片大小、使用懒加载来减少初始加载的数据量;通过及时释放不再使用的内存资源来避免内存泄漏。
二、开发工具与技术1、你熟悉哪些移动应用开发框架(如 React Native、Flutter 等)?它们的优缺点是什么?答案:React Native 优点是可以使用 JavaScript 开发,同时能复用部分 Web 开发的知识和代码,社区活跃,有丰富的第三方库。
缺点是性能可能不如原生开发,某些复杂的 UI 效果实现较困难。
Flutter 优点是性能出色,拥有丰富的自定义组件,开发效率高。
物联网移动应用开发习题答案(下)物联网移动应用开发习题答案(下)一、背景介绍物联网(Internet of Things,简称IoT)是指通过网络互联的各种智能设备、传感器和物体之间的通信和互动,使其能够实现信息共享和远程控制。
移动应用开发则是指开发适用于移动设备的应用程序,包括手机应用和平板电脑应用等。
二、问题解答1. 实现物联网设备之间的通信方式有哪些?在物联网中,物联网设备之间可以通过多种方式进行通信。
常用的通信方式包括:- 无线通信:使用无线技术实现设备之间的通信,如Wi-Fi、蓝牙、NFC等。
- 有线通信:使用有线连接(如以太网)实现设备之间的通信。
- 云平台通信:设备通过连接到云平台实现数据的传输和共享。
- 网关通信:设备通过网关进行通信,网关负责将不同协议的设备转换为统一的协议进行通信。
2. 物联网移动应用开发中需要注意哪些安全性问题?物联网移动应用开发中的安全性是至关重要的。
以下是需要注意的几个安全性问题:- 身份验证和访问控制:确保只有授权用户可以访问物联网设备的功能和数据。
- 数据加密:对通信中传输的数据进行加密,防止数据被篡改或泄漏。
- 安全漏洞检测:应用程序中可能存在安全漏洞,需要进行全面的漏洞检测和修复。
- 硬件安全性:保护物联网设备的硬件安全,防止被物理攻击。
- 数据隐私保护:确保用户的个人信息和隐私不被泄露或滥用。
3. 在物联网移动应用中,如何处理大量的传感器数据?物联网移动应用中,传感器会不断收集和传输大量的数据。
为了有效处理这些数据,可以采取以下措施:- 数据过滤和压缩:只保留需要的数据,对不必要的数据进行过滤,并采用压缩算法减少数据量。
- 数据存储和管理:选择合适的数据库或云平台存储传感器数据,并建立有效的数据管理机制。
- 数据分析和挖掘:利用数据分析和挖掘技术,从传感器数据中提取有用的信息和模式。
- 实时处理:对于需要实时响应的应用场景,可以采用实时处理技术,及时分析和处理传感器数据。
XXXX_XXXX_1_手持移动设备应用开发_习题参考答案第1章J2ME简介1. 什么是手持移动设备?答:本课程所谓的手持移动设备是指能随身携带的小型智能电子设备,通常硬件系统应包含处理机、内存和输入输出设备,而软件系统应包含嵌入式操作系统、可安装或卸载的嵌入式应用软件。
目前要紧的手持移动设备有智能手机、PDA等消费类小型电子设备,也能够包括各类便利式嵌入式电子设备。
2. 以智能手机为例的手持移动设备,目前要紧有哪些智能手机手持设备操作系统,各自支持何种开发平台?(提示:通过网络搜索查找)答:微软公司操作系统:Windows Mobile 开发平台:C # .netNokia公司操作系统:Symbian 开发平台:S ymbian C++Google公司操作系统:Android 开发平台:Ja vaApple公司操作系统:IOS 开发平台:O bjective-CResearch In Motion公司操作系统:BlackBerry 开发平台:J ava3. 简述Java三个版本的区不联系,以及本课程采纳J2ME作为开发平台的缘故。
答:区不:Java的三个版本分不针对不同的领域。
三个版本其差不多语法完全相同,只是按照针对的对象设备不同,API库有些差异。
联系:J2SE包含了Java差不多的核心的元素,是J2EE和J2ME的基础。
J2EE是Java 的高级版本,在J2SE基础上增加了新的类库,引入了新的技术,要紧用于服务器端的程序;J2ME在J2SE基础上删减了部分内容,还引入了专门的API类库。
缘故:J2ME要紧用于移动设备等小型电子设备的软件开发,本课程针对手持移动设备开发。
J2ME有专门的API类库。
J2ME是手持移动设备开发目前的主流开发平台,通用性强。
4. 手持设备移动开发中与J2ME技术中Configuration、Profile对应的技术名称是什么?答:Configuration:CLDC(Connected Limited Device Configuration,连同意限设备配置)Profile:MIDP(Mobile Information Device Profile,移动信息设备配置简表)5. 什么是MIDlet?答:在J2ME技术平台上按照MIDP规范建立的应用程序。
模块一单元测试1、单选题:新建一个Android Studio项目的过程中,Minimum SDK表示支持Android的()。
选项:A:最低版本B:目标版本C:最高版本D:没有正确选项答案: 【最低版本】2、单选题:Android Studio的项目结构中,layout目录用于()。
选项:A:存放所有的java代码B:存放图片及xml文件C:存放布局文件D:存放目录文件答案: 【存放布局文件】3、多选题:下列选项中,属于Android中图片资源格式的是()。
选项:A:gifB:aviC:pngD:jpg答案: 【gif;png;jpg】4、多选题:关于字符串资源的描述,正确的是()选项:A:可以在布局文件中调用字符串资源B:字符串资源定义在demins.xml文件中C:可以在java代码中调用字符串资源D:使用<demin/>标签定义字符串资源答案: 【可以在布局文件中调用字符串资源;可以在java代码中调用字符串资源】5、判断题:通常情况下,应用图标资源存放在是src文件夹中()A:对B:错答案: 【错】6、判断题:程序中的app文件夹用于存放程序的代码和资源等内容.()选项:A:对B:错答案: 【对】模块二单元测试1、单选题:下列选项中,属于设置ImageView控件显示图片资源的属性是()选项:A:android:backgroundB:android:imgValueC:android:srcD:android:img答案: 【android:src】2、单选题:下列选项中,用于EditText控件中内容为空时显示提示文本信息的属性为()选项:A:android:textColorHintB:android:hintC:android:passwordD:android:tint答案: 【android:hint】3、单选题:Android提供的多选按钮是()。
选项:A:JCheckBoxB:ChencButtonC:ACheckBoxD:CheckBox答案: 【CheckBox】4、多选题:ChencButton下面关于CheckBox控件的描述,正确的是()。
国开期末考试《移动应用开发》机考试题及答案(第3套)一、单选题1. 在Android中,用于存储应用程序数据的是:A. SQLiteB. SharedPreferencesC. ContentProviderD. FileAnswer: D2. 在Android中,用于处理应用程序间的消息传递的是:A. IntentB. ServiceC. BroadcastReceiverD. ContentProviderAnswer: A3. 在Android中,用于展示应用程序的用户界面的是:A. ActivityB. ServiceC. BroadcastReceiverD. FragmentAnswer: A二、填空题1. Android应用程序的入口是通过 `MainActivity` 类的`onCreate()` 方法开始执行的。
2. 在Android中,用于存储少量键值对数据的是`SharedPreferences` 。
3. 在Android中,用于在不同应用程序间共享数据的是`ContentProvider` 。
三、简答题1. 请简要解释Android中的四大组件。
四大组件指的是Activity、Service、BroadcastReceiver和ContentProvider。
它们是Android应用程序的基本构建块,用于实现不同的功能。
- Activity:用于展示用户界面和处理用户交互,通常代表应用程序的一个屏幕。
- Service:在后台执行长时间运行的任务,没有用户界面。
- BroadcastReceiver:用于接收和处理系统广播或应用程序间的消息传递。
- ContentProvider:用于在不同应用程序之间共享数据,提供数据访问和管理功能。
2. 请简要解释Android中的Intent。
Intent是用于在不同组件之间传递消息和数据的对象。
它可以用于启动Activity、启动Service、发送广播以及在应用程序之间传递数据。
第一章单元测试1、判断题:打包过程需要一段时间,项目越大,时间越短。
()选项:A:对B:错答案: 【错】2、判断题:Android程序打包完成并不生成证书等文件。
()选项:A:对B:错答案: 【错】3、判断题:Linux内核层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动等。
()选项:A:错B:对答案: 【对】4、判断题:Android运行时库主要提供了一些核心类库。
()选项:A:对B:错答案: 【对】5、判断题:adb shell命令是关闭adb服务。
()选项:A:对B:错答案: 【错】6、判断题:3G技术是最初的模拟,仅限语言的蜂窝电话标准。
()选项:A:错B:对答案: 【错】7、判断题:Android系统实际上是IBM公司开发的。
()选项:A:错B:对答案: 【错】8、判断题:创建程序时,填写的Package Name表示项目名称()选项:A:错B:对答案: 【错】9、单选题:Android开发环境中Dalvik虚拟器调试监控服务称为什么?()选项:A:DDMSB:DMSC:FDDD:CMD答案: 【DDMS】10、单选题:Android 工程中存放各种程序资源的目录是【】。
()选项:A:srcB:resC:genD:bin答案: 【res】第二章单元测试1、判断题:帧布局在界面上是一帧一帧显示的,通常可以用于图层设计。
()选项:A:错B:对答案: 【对】2、判断题:layout_alignRight是指把当前控件显示在另外一个控件的右侧。
()选项:A:对B:错答案: 【错】3、判断题:layout_toRightOf是指把当前控件的右边框与另外一个控件的右边框对齐。
()选项:A:对B:错答案: 【错】4、判断题:相对布局中的控件都是按照相对位置摆放的。
()选项:A:错B:对答案: 【对】5、判断题:样式中的<item>标签是用来声明属性值的。
()选项:A:错B:对答案: 【错】6、判断题:Android中的网格布局使用TableLayout控件表示。
《手持设备移动应用开发》习题第1章 J2ME简介1. 什么是手持移动设备?答:本课程所谓的手持移动设备是指能随身携带的小型智能电子设备,通常硬件系统应包含处理机、内存和输入输出设备,而软件系统应包含嵌入式操作系统、可安装或卸载的嵌入式应用软件。
目前主要的手持移动设备有智能手机、PDA等消费类小型电子设备,也可以包括各类便捷式嵌入式电子设备。
2. 以智能手机为例的手持移动设备,目前主要有哪些智能手机手持设备操作系统,各自支持何种开发平台?(提示:通过网络搜索查找)答:微软公司操作系统:Windows Mobile开发平台:C# .netNokia公司操作系统:Symbian开发平台:Symbian C++Google公司操作系统:Android开发平台:JavaApple公司操作系统:IOS开发平台:Objective-CResearch In Motion公司操作系统:BlackBerry 开发平台:Java3. 简述Java三个版本的区别联系,以及本课程采用J2ME作为开发平台的原因。
答:区别:Java的三个版本分别针对不同的领域。
三个版本其基本语法完全相同,只是根据针对的对象设备不同,API库有些差异。
联系:J2SE包含了Java基本的核心的元素,是J2EE和J2ME的基础。
J2EE是Java 的高级版本,在J2SE基础上增加了新的类库,引入了新的技术,主要用于服务器端的程序;J2ME在J2SE基础上删减了部分内容,还引入了专门的API类库。
原因:J2ME主要用于移动设备等小型电子设备的软件开发,本课程针对手持移动设备开发。
J2ME有专门的API类库。
J2ME是手持移动设备开发目前的主流开发平台,通用性强。
4. 手持设备移动开发中与J2ME技术中Configuration、Profile对应的技术名称是什么?答:Configuration:CLDC(Connected Limited Device Configuration,连接受限设备配置)Profile: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. 什么是手机模拟器?答:一种能在PC机上仿真手机软硬件环境及界面,使得手机软件的编程、调试、运行、测试等开发过程可以在PC机的模拟环境中实现的软件系统。
2. 简述Wireless ToolKit的功能。
答:Sun J2ME Wireless ToolKit (缩写为WTK) 是Sun公司提供的无线开发工具包,是一个包含手机实用工具、类库、文档、实例以及手机模拟器等的开发套件。
WirelessToolKit的功能是提供了四种模拟器,利用软件来代替模拟电子设备。
这样可以在程序开发成功后不用修改或者仅做简单的修改后就可以将应用程序直接下载到手机上运行该应用程序,简化了开发过程,提高了开发效率。
3. 简述WTK中四种模拟器名称及功能。
答:四种模拟器分别是:Defaultcolorphone 用于具有彩色显示屏幕的手机模拟器Defaultgrayphone 用于具有单色灰度屏幕的手机模拟器Mediacontrolskin 用于具有音频和视频控制功能的手机模拟器Qwertydevice 用于具有标准打字键盘的手机模拟器4. 请说明构建基于eclipse构架J2ME编程环境软件安装步骤。
答:(1) JDK的安装;(2)WTK的安装;(3)Eclipse的安装;(4)加载EclispeME到Eclipse中;(5)加载WTK到Eclipse中;(6)安装Eclipse简体中文语言包。
5. 请说明MIDlet程序结构及主要方法功能。
答:(1)MIDlet工程程序框架结构必须包括有一个MIDlet主类,该类中默认包含构造方法及destoryApp()、pauseApp()、StartApp()等3个事件处理方法。
(2)构造方法用于初始化MIDlet;destoryApp()用于终止MIDlet;pauseApp()用于暂停MIDlet;startApp()用于启动MIDlet。
当设备产生相应事件时,程序会自动调用相应处理方法。
(3)J2ME应用程序必须继承MIDlet,然后重写三个事件方法。
相关的一组MIDlet可组合在一起,称为MIDlet Suite。
一个或多个MIDlet可打包成一个单独的Jar文件,形成一个MIDlet Suite。
每个Midlet Suite 中包含继承自MIDlet 的类和其他辅助的类,还包含其他的资源。
【教材习题】p.29~30一、选择题: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. 简述MIDP功能。
答:MIDP(Mobile Information Device Profile,即移动信息设备简表),针对移动电话等,提供了用户界面、网络连接、局部数据存储等增强的功能。
【教材习题】p.42一、选择题:4二、思考题:2第4章J2ME的用户界面编程1. 简述高层用户界面及底层用户界面的特点?答:用户界面设计分成两大类:高层用户界面和低层用户界面。
(1)高层用户界面(抽象描述)高层用户界面是通过高层API类库实现,这类API使用抽象的方法描述用户界面,界面的具体细节依靠不同厂商提供的MIDP实现,因此在界面实现细节上可以不一致,优点是能够在不同设备之间达到高度的可移植性,使用户界面可以适应不同的硬件设备。
MIDP中所有高级API类都是Screen的子类。
(2)底层用户界面(运行感知)底层用户界面是通过底层API类库实现,这类API在运行时可以感知移动信息设备中如显示屏、输入设备等硬件配置,依据硬件配置情况来实现用户界面,可以更精确控制硬件和更好地发挥硬件性能,缺点是可移植性差,不同的硬件配置需要不同的程序与之对应。
2. 简述Display类、DisplayAble类、Screen类功能。
答:(1)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的J2ME WTK模拟器中,命令按钮被称为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对象同时出现在一个系统屏幕上。