Android应用程序开发(第二版)课后习题答案最新版
更新时间:2024-04-13 08:21:01 阅读量: 综合文库 文档下载
第一章 Android简介
1.简述各种手机操作系统的特点. 答案:
目前,手机上的操作系统主要包括以下几种,分别是Android、iOS、Windows Mobile、Windows Phone 7、Symbian、黑莓、PalmOS和Linux。
(1)Android是谷歌发布的基于Linux的开源手机平台,该平台由操作系统、中间件、用户界面和应用软件组成,是第一个可以完全定制、免费、开放的手机平台。Android底层使用开源的Linux操作系统,同时开放了应用程序开发工具,使所有程序开发人员都在统一、开放的开发平台上进行开发,保证了Android应用程序的可移植性。
(2)iOS是由苹果公司为iPhone、iPod touch、iPad以及Apple TV开发的操作系统,以开放源代码的操作系统Darwin为基础,提供了SDK,iOS操作系统具有多点触摸操作的特点,支持的控制方法包括滑动、轻按、挤压和旋转, 允许系统界面根据屏幕的方向而改变方向,自带大量的应用程序。
(3)Windows Mobile是微软推出的移动设备操作系统,对硬件配置要求较高,一般需要使用高主频的嵌入式处理器,从而产生了耗电量大、电池续航时间短和硬件成本高等缺点,Windows Mobile系列操作系统包括Smartphone、Pocket PC和Portable Media Center。
随着Windows Phone 7的出现,Windows Mobile正逐渐走出历史舞台。 (4)Windows Phone 7具有独特的“方格子”用户界面,非常简洁,黑色背景下的亮蓝色方形图标,显得十分清晰醒目,集成了Xbox Live游戏和Zune音乐功能,可见Windows Phone 7对游戏功能和社交功能的重视。
(5)Symbian是为手机而设计的实时多任务32位操作系统,它的功效低,内存占用少,提供了开发使用的函数库、用户界面、通用工具和参考示例。操作系统不是完全开放的,核心代码不开放,但是API文档是公开的。
(6)黑莓系统主要在黑莓手机上使用,其特色是支持电子邮件推送功能,邮件服务器主动将收到的邮件推送到用户的手持设备上,而不需要用户频繁地连接网络查看是否有新邮件。同时,黑莓系统提供手提电话、文字短信、互联网传真、网页浏览及其它无线信息服务功能。黑莓系统主要针对商务应用,具有很高的安全性和可靠性。 (7)PalmOS由拥有较多的第三方软件,是32位的嵌入式操作系统,主要在移动终端上使用,操作系统本身所占的内存极小,不具备录音和MP3播放功能。
(8)Linux手机操作系统具有开放源代码的特性,但是也包含入门难度高,集成开发环境差,Linux的产品与个人计算机的连接性较差,具有较强的开发实力的公司很少等不足。
2.简述Android平台的特征
答案:
Android广泛支持GSM、3G和4G的语音与数据业务,支持接收语言呼叫和SMS短信,支持数据存储共享和IPC消息机制,为地理位置服务(如GPS)、谷歌地图服务提供易于使用的API函数库,提供组件复用和内置程序替换的应用程序框架,提供基于WebKit的浏览器,广泛支持各种流行的视频、音频和图像文件格式。
Android系统提供了访问硬件的API库函数,用来简化像摄像头、GPS等硬件的访问过程。在内存和进程管理方面,Android为了保证高优先级进程运行和正在与用户交互进程的响应速度,允许停止或终止正在运行的低优先级进程,以释放被占用的系统资源。Android进程的优先级并不是固定的,而是根据进程是否在前台或是否与用户交互而不断变化的。在界面设计上,Android提供了丰富的界面控件供使用者调用,从而加快了用户界面的开发速度,也保证了Android平台上的程序界面的一致性。Android提供轻量级的进程间通讯机制Intent,使用跨进程组件通信和发送系统级广播成为可能。Android提供了Service作为无用户界面、长时间后台运行的组件,可为应用程序提供特定的后台功能,还可以实现事件处理或数据更新等功能。Android支持高效、快速的数据存储方式,同时为了便于跨进程共享数据,Android提供了通用的共享数据接口ContentProvider,可以无需了解数据源、路径的情况下,对共享数据进行查询、添加、删除和更新等操作。Android支持位置服务和地图应用,可以通过SDK提供的API直接获取当前的位置,追踪设备的移动路线,或设定敏感区
域,并可以将Google地图嵌入到Android应用程序中,实现地理信息可视化开发。Android支持Widget插件,可以方便地在Android系统上开发桌面应用,实现比较常见的一些桌面小工具,或在主屏上显示重要的信息。Android支持使用本地代码(C或C++)开发应用程序的部分核心模块,提高了程序的运行效率,并有助于增加Android开发的灵活性。
3.描述Android平台体系结构的层次划分,并说明各个层次的作用。 答案:
Android采用了软件堆层的架构,共分为四层: Linux内核、中间件层、应用程序框架层和应用程序层。 (1)Linux内核提供由操作系统内核管理的底层基础功能。 (2)中间件层包含函数库和Android运行时,函数库主要提供了六个基于C/C++的函数库,包括:Surface Manager,支持显示子系统的访问,为多个应用程序提供2D、3D图像层的平滑连接;Media Framework,基于OpenCORE的多媒体框架,实现音频、视频的播放和录制功能,广泛支持多种流行的音视频格式,包括MPEG4、H.264、MP3、AAC、AMR、JPG和PNG等;SQLite,轻量级的关系数据库引擎;OpenGL ES,基于硬件的3D图像加速;FreeType,位图与矢量字体渲染;WebKit,Web浏览器引擎;SGL,2D图像引擎;SSL,数据加密与安全传输的函数库;libc,标准C运行库,是Linux系统中底层的应用程序开发接口。Android运行时包含核心库和Dalvik虚拟机,核心库为程序开发人员提供了Android系统的特有函数功能和Java语
言基本函数功能,Dalvik虚拟机实现了基于Linux内核的线程管理和底层内存管理,也可以执行Dalvik可执行格式。
(3)应用程序框架提供了Android平台基本的管理功能和组件重用机制。
(4)应用程序提供了一系列核心应用程序。
第二章 Android开发环境 1.尝试安装Android开发环境,并记录安装和配置过程中所遇到的问题。 提示:
首先下载并安装JDK,然后下载并安装eclipse,还要下载并安装SDK和ADT插件,并完成相应的设置。
2.浏览Android SDK帮助文档,了解Android SDK帮助文档的结构和用途。 略。
3.在Android SDK中,Android模拟器、Android调试桥和DDMS是Android应用程序开发过程中经常使用到的工具,简述这三个工具的用途。 答案:
Android模拟器主要用来调试Android应用程序,模拟器可以仿真手机的绝大部分硬件和软件功能,支持加载SD卡映像文件,更改模拟网络状态、延迟和速度,模拟电话呼叫和接收短信等。Android
Android系统支持的三种菜单分别是:选项菜单、子菜单和快捷菜单。
(1)选项菜单是常用的Android系统菜单,可分为图标菜单和扩展菜单,图标菜单的子项最多是六个,支持显示图标,不支持单选框和复选框;而当子项多余六个时,采用扩展菜单,扩展菜单的子项是垂直排列,支持单选框和复选框,不支持显示图标。第一次启动选项菜单时,只需要调用一次onCreateMenu函数。
(2)子菜单的表现形式是浮动窗体的形式,适应小屏幕的显示形式,能够展示更加详细的信息,通过addSubMenu函数增加子菜单,但不支持嵌套。在选项菜单和快捷菜单中使用子菜单,便于显示和分类相似的菜单子项。
(3)快捷菜单采用动窗体的显示形式,启动方式特别,点击界面元素超过2秒后,则启动该界面元素的快捷菜单。每次启动快捷菜单时,都要调用一次onCreateMenu函数。 4.说明使用操作栏为程序开发所带来的便利。 答案: 操作栏代替了传统的标题栏功能,右侧用来显示“选项菜单”的菜单项,但所显示的内容,会根据操作栏所具有的空间不同而具有不同的现实方式。在屏幕尺寸较小的设备上,操作栏会自动隐藏菜单项的文字,而仅显示菜单项的图标;而在屏幕尺寸较大的设备上,操作栏会同时显示菜单项的文字和图标。操作栏提供多个实用的功能,包括(1)将“选项菜单”的菜单项显示在操作栏的右侧;(2)基于Fragment
实现类似于Tab页的导航切换功能;(3)为导航提供可“拖拽—放置”的下拉列表;(4)可在操作栏上实现类似于“搜索框”的功能。
第六章 组件通信与广播消息
1.简述Intent的定义和用途。答案:
Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息。Intent为Activity、Service和BroadcastReceiver等组件提供交互能力,将一个组件的数据和动作传递给另一个组件。Intent的一个最常见的用途就是启动Activity和Service;另一个用途是在Android系统上发布广播消息,广播消息可以是接收到特定数据或消息,也可以是手机的信号变化或电池的电量过低等信息。
2.简述Intent过滤器的定义和功能。 答案: Intent过滤器是一种根据Intent中的动作(Action)、类别(Categorie)和数据(Data)等内容,对适合接收该Intent的组件进行匹配和筛选的机制。Intent过滤器的作用是匹配数据类型、路径和协议,还包括可以用来确定多个匹配项顺序的优先级。每个Intent过滤器可以定义多个
Intent解析的匹配规则是:
(1)Android系统把所有应用程序包中的Intent过滤器集合在一起,形成一个完整的Intent过滤器列表;
(2)在Intent与Intent过滤器进行匹配时,Android系统会将列表中所有Intent过滤器的“动作”和“类别”与Intent进行匹配,没有指定“动作”的Intent过滤器可以匹配任何的Intent,但是没有指定“类别”的Intent过滤器只能匹配没有“类别”的Intent; (3)把Intent数据Uri的每个子部与Intent过滤器的标签中的属性进行匹配;
(4)如果Intent过滤器的匹配结果多于一个,则可以根据在
4.编程实现具有“登录”按钮的主界面,点击“登录”按钮后打开一个新的Activity,新打开的Activity上面有输入用户名和密码的控件,在用户关闭这个Activity后,将用户名和密码传递到主界面的Activity中。 略。
第七章 后台服务
1.简述Service的基本原理和用途。
答案:
Service能够长期在后台运行,适用于无需用户干预,且规则或长期运行的后台功能。首先,因为Service没有用户界面,更加有利于降低系统资源的消耗,而且Service比Activity具有更高的优先级,因此在系统资源紧张时,Service不会被Android系统优先终止。即使Service被系统终止,在系统资源恢复后Service也将自动恢复运行状态,因此可以认为Service是在系统中永久运行的组件。Service除了可以实现后台服务功能,还可以用于进程间通信(Inter Process Communication,IPC),解决不同Android应用程序进程之间的调用和通讯问题。
2.编程建立一个简单的进程内服务,实现比较两个整数大小的功能。服务提供Int Compare(Int, Int)函数,输入两个整数,输出较大的整数。 略。
第八章 数据存储与访问
1.应用程序一般允许用户自己定义配置信息,如界面背景颜色、字体大小和字体颜色等,尝试使用SharedPreferences保存用户的自定义配置信息,并在程序启动时自动加载这些自定义的配置信息。 略。
2.尝试把第1题的用户自己定义配置信息,以INI文件的形式保存在
内部存储器上。 略。
3.简述在嵌入式系统中使用SQLite数据库的优势。 答案:
SQLite数据库的优势是其嵌入到使用它的应用程序中。这样不仅提高了运行效率,而且屏蔽了数据库使用和管理的复杂性,程序仅需要进行最基本的数据操作,其他操作可以交给进程内部的数据库引擎完成。
第九章 位置服务与地图应用 1.讨论位置服务和地图应用的发展前景。 答案:
位置服务不仅可以对手机用户进行定位,对手机用户的位置进行实时监测和跟踪,还可以查询有关位置附近的各种场所的资讯,所有的信息都可以显示在电子地图上。因此,定位服务的发展具有广泛的前景。在人们的生活中,最基本的信息就是“位置信息”,特别是出现紧急情况时更需要“确切的位置信息”。据预测,到 2014 年,在各种移动通信业务用户数排名中,拥有位置服务业务的用户数将仅次于语音业务位居第二,高于 E-mail 、移动电子商务、移动银行等增值业务。移动定位服务无疑代表着一个全新的商机,移动通讯领域的商家都看好这个潜力巨大的市场。
第十章 Widget组件开发
1.分析Widget的优势和不足。 答案:
Widget是一个具有特定功能的视图,一般被嵌入到主屏幕中,用户在不启动任何程序的前提下,就可以在主屏幕上直接浏览Widget所显示的信息。Widget在主屏幕上显示自定义的界面布局,在后台周期性的更新数据信息,并根据这些更新的数据修改主屏幕的显示内容。Widget可以有效的利用手机的屏幕,快捷、方便的浏览信息,为用户带来良好的交互体验。Widget需要定时更新数据,在一定程度上增加了设备的耗电量。
2.简述Widget的设计原则和注意事项。 答案:
Widget是主屏幕上的显示元素,不仅自身具有一定的设计规则,还要与主屏幕上其它的元素保持美观一致。
第十一章 Android NDK开发
1.简述Android NDK开发的优势和不足。 答案:
Android NDK的优势是利用核心模块使用本地代码(C/C++)来提高开发执行效率,提高了Android应用程序开发的灵活性。Android NDK的不足是使用C/C++语言的话,会增加程序的复杂性和程序调试
的难度;另外,开发人员需要认识到CPU运算量大和内存消耗较少的部分使用本地代码运行效率最高。
2.说明Android NDK应用程序开发的一般步骤。 答案:
Android NDK应用程序开发的一般步骤是: (1)下载Android NDK的安装包; (2)下载并安装Cygwin;
(3)配置Cygwin的NDK开发环境; (4)测试开发环境是否可以正常工作。
3.参考NDK的tow-libs示例,使用静态库实现AndroidNdkDemo示例中加法运算的函数功能。 略。
4.简述在代码中动态检测CPU类型的意义。 答案:
动态检测CPU类型有助于优化代码,利用根据CPU类型对C代码中的算法进行优化。
正在阅读:
Android应用程序开发(第二版)课后习题答案最新版04-13
美国文学史概述及选读复习资料01-18
我的童年作文400字04-01
研究生英语阅读教程(第三版)(汉译英)段落翻译参考答案04-08
2013年全国高校自主招生数学模拟试卷七11-09
操作题汇总01-13
电大资源与运营管理机考试题答案01-01
九年级第一次月考 - 图文11-23
政治思想情况鉴定02-24
机关卫生检查评比办法06-09
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 课后
- 习题
- 最新版
- 程序开发
- 答案
- Android
- 应用
- 镍铁合金建设项目可行性研究报告(立项案例) - 图文
- 有机化学复习总结
- 94—10kV消弧线圈接地变成套装置技术协议
- 学生成就动机的培养研究
- 国有投资控股公司资本运营研究3.7
- 聆听心声:音乐审美心理分析(答案)
- 雇主责任保险(2015版)条款解释
- 结构力学模拟试题
- C语言上机题目汇总
- 杨浦区2016年高三英语一模试卷 - 图文
- 工程建设廉政风险点及防范措施
- 漳州市国民经济和社会发展第十二个五年规划纲要
- 信号与系统公式&常用的连续傅里叶变换
- 2018年高考模拟压轴化学试题(共10套)后附答案
- 《半导体物理》实验指导书(2009年版)
- 苏轼《定风波》赏析
- 随机前沿模型(SFA)-原理解读
- 机组节能环保升级改造设计单位调研报告 - 图文
- 活用“错误资源” 增强课堂实效(东莞市济川中学王圣权)
- 抗滑桩本科毕业设计计算书(K法)