福建农林大学安卓Android课后习题答案Word格式.docx

上传人:聆听****声音 文档编号:471656 上传时间:2023-04-29 格式:DOCX 页数:8 大小:28.57KB
下载 相关 举报
福建农林大学安卓Android课后习题答案Word格式.docx_第1页
第1页 / 共8页
福建农林大学安卓Android课后习题答案Word格式.docx_第2页
第2页 / 共8页
福建农林大学安卓Android课后习题答案Word格式.docx_第3页
第3页 / 共8页
福建农林大学安卓Android课后习题答案Word格式.docx_第4页
第4页 / 共8页
福建农林大学安卓Android课后习题答案Word格式.docx_第5页
第5页 / 共8页
福建农林大学安卓Android课后习题答案Word格式.docx_第6页
第6页 / 共8页
福建农林大学安卓Android课后习题答案Word格式.docx_第7页
第7页 / 共8页
福建农林大学安卓Android课后习题答案Word格式.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

福建农林大学安卓Android课后习题答案Word格式.docx

《福建农林大学安卓Android课后习题答案Word格式.docx》由会员分享,可在线阅读,更多相关《福建农林大学安卓Android课后习题答案Word格式.docx(8页珍藏版)》请在冰点文库上搜索。

福建农林大学安卓Android课后习题答案Word格式.docx

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内核、中间件层、应用程序框架层和应用程序层。

(DLinux内核提供由操作系统内核管理的底层基础功能。

(2)中间件层包含函数库和Android运行时,函数库主要提供了六个基于C/C++的函数库,包括:

SurfaceManager,支持显示了系统的访问,为多个应用程序提供2D、3D图像层的平滑连接;

MediaFramework,基于OpenCORE的多媒体框架,实现音频、视频的播放和录制功能,广泛支持多种流行的音视频格式,包括MPEG4、H.264、MP3、AAC、AMR、JPG和PNG等;

SQLite,轻量级的关系数据库引擎;

OpenGLES,基于硬件的3D图像加速;

FreeType,位图与矢量字体渲染;

WebKit,Web浏览器引擎;

SGL,2D图像引擎;

SSL,数据加密与安全传输的函数库;

libc,标准C运行库,是Linux系统中底层的应用程序开发接口。

Android运行时包含核心库和Dalvik虚拟机,核心库为程序开发人员提供了Android系统的特有函数功能和Java语言基本函数功能,Dalvik虚拟机实现了基于Linux内核的线程管理和底层内存管理,也可以执行Dalvik可执行格式。

(3)应用程序框架提供了Android平台基本的管理功能和组件重用机制。

(4)应用程序提供了一系列核心应用程序。

⑵习题:

1.尝试安装Android开发环境,并记录安装和配置过程中所遇到的问题。

提示:

首先下载并安装JDK,然后下载并安装eclipse,还要下载并安装SDK和ADT插件,并完成相应的设置。

2.浏览AndroidSDK帮助文档,了解AndroidSDK帮助文档的结构和用途。

略。

3.在AndroidSDK中,Android模拟器、Android调试桥和DDMS是Android应用程序开发过程中经常使用到的工具,简述这三个工具的用途。

Android模拟器主要用来调试Android应用程序,模拟器可以仿真手机的绝大部分硬件和软件功能,支持加载SD卡映像文件,更改模拟网络状态、延退和速度,模拟电话呼叫和接收短信等。

Android调试桥是用于连接Android设备或模拟器的工具,负责将应用程序安装到模拟器和设备中,或从模拟器或设备中传输文件。

DDMS是Android系统中内置了调试工具,可以用来监视Android系统中进程、堆栈信息,查看logcat日志,实现端口转发服务和屏幕截图功能,模拟电话呼叫和SMS短信,以及浏览Android模拟器文件系统等。

⑶习题:

1.简述R.java和AndroidManefiest.xml文件的用途。

R.java文件是ADT自动生成的文件,包含对drawable>

layout和values目录内的资源的引用指针,Android程序能够直接通过R类引用目录中的资源。

AndroidManifest.xml是XML格式的Android程序声明文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包括应用程序名称、图标、包名称、模块组成、授权和SDK最低版本等,而且每个Android程序必须在根目录下包含一个AndroidManifest.xml文件。

2.尝试建立一个支持GoogleAPIs的AVD。

3.使用Eclipse建立名为MyAndroid的工程,包名称为edu.hrbeu.MyAndroid,使用第2题中建立的AVD,程序运行时显示HelloMyAndroido

4.尝试使用命令行方式建立一个Android应用程序,并完成apk打包和程序安装过程。

略。

⑷习题:

1.简述Android系统前台进程、可见进程、服务进程、后台进程和空进程的优先级排序原因。

前台进程是Android系统中最重要的进程,是与用户正在交互的进程,所以被排放在首位;

可见进程和服务进程都是包含服务的进程,不在前台与用户交互,不响应界面时间的进程,而是在后台长期运行,所以,他们被排放在前台进程之后;

而后台进程和空进程是不包含任何已经启动服务的进程,在系统比较资源比较紧张的时候,会首先被清除,所以他们被排放在最后。

2,简述Android系统的四种基本组件Activity>

Service>

BroadcaseReceiver和ContentProvider的用途。

Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件,用于提示用户程序已经正常启动。

Service一般用于没有用户界面,但需要长时间在后台运行的应用。

BroadcaseReceiver是用来接受并响应广播消息的组件。

ContentProvider是Android系统提供的一种标准的共享数据的机制,应用程序可以通过

ContentProvider访问其他应用程序的私有数据。

3.简述Activity生命周期的四种状态,以及状态之间的变换关系。

Activity的四种状态,分别是活动状态、暂停状态、停止状态和非活动状态。

活动状态是完全能被用户看到,与用户进行交互的状态;

暂停状态是Activity不处于用户界面的最上层,不能与用户进行交互的状态;

停止状态是指Activity在界面上完全不能被用户看到的状态;

除以上三种状态之外,就是非活动状态。

他们的变换关系是,当第一个Activity启动后,则Activity处于活动状态;

如果启动新的Activity,部分遮挡先前的Activity,则先前的Activity转换为暂停状态;

如果新启动的Activity完全遮挡了先前的Activity,则先前的Activity转换为停止状态;

活动的Activity被用户关闭,或暂停状态或停止状态的Activity被系统终止后,都会转换成非活动状态。

4.简述Activity事件回调函数的作用和调用顺序。

Activity事件回调函数具体分为Activity生命周期的事件回调函数和Activity状态保存和恢复函数的事件回调函数,Activity生命周期的事件回调函数的作用主要是为了让Activity程序了解自身状态的变化;

Activity状态保存和恢复函数的事件回调函数的作用主要是保存或恢复Activity的状态信息。

Activity事件的调用顺序是:

(1)onCreate,完全生命周期开始,初始化Activity;

(2)onStart,可视生命周期开始,对用户界面进行必要的更改;

(3)onRestorelnstanceState,恢复onSaveLnstanceState保存的用户界面信息;

(4)onResume,活动生命周期开始,保存界面信息;

(5)onSavelnstanceState,在onResume后,保存界面信息;

(6)onRestart,重新进入可视生命周期前,载入界面所需要的更改信息;

(7)onPause,活动生命周期结束,保存持久地数据或释放占用的资源;

(8)onStop,可视生命周期结束,保存持久地数据或释放占用的资源;

(9)onDestory,完全生命周期结束,释放资源。

(5)习题:

1.简述6种界面布局的特点。

6种界面布局分别为:

线性布局、框架布局、表格布局、相对布局、绝对布局和网格布局。

C1)线性布局的子元素可垂直或者水平排列,但是每一列/行中,只能有一个界面元素。

(2)框架布局是只存放一个元素的空白空间,且位置只能是空白空间的左上角,如果有多个子元素,后放置的子元素会遮挡先放置的子元素。

(3)表格布局将屏幕划分网格,把界面元素添加到网格中,支持嵌套,也可添加其他的界面布局。

(4)相对布局中的界面元素的位置是通过与其他的元素的相对位置确定的,具有灵活性。

(5)绝对布局的界面元素的位置是通过坐标确定的,他是不推荐使用的一种布局。

(6)网格布局将用户界面划分为网格,界面元素可随意摆放在这些网格中,界面元素可以占用多个网格的,使界面设计更为灵活。

2.参考下图中界面控件的摆放位置,使用多种布局方法实现用户界面,并对比各种布局实现的复杂程度和对不同屏幕尺寸的适应能力。

3.简述Android系统三种菜单的特点及其使用方式。

Android系统支持的三种菜单分别是:

选项菜单、子菜单和快捷菜单。

(1)项菜单是常用的Android系统菜单,可分为图标菜单和扩展菜单,图标菜单的子项最多是六个,支持显示图标,不支持单选框和复选框;

而当子项多余六个时,采用扩展菜单,扩展菜单的子项是垂直排列,支持单选框和复选框,不支持显示图标。

第一次启动选项菜单时,只需要调用一次onCreateMenu函数。

(2)子菜单的表现形式是浮动窗体的形式,适应小屏幕的显示形式,能够展示更加详细的信息,通过addSubMenu函数增加子菜单,但不支持嵌套。

在选项菜单和快捷菜单中使用子菜单,便于显示和分类相似的菜单子项。

(3)捷菜单采用动窗体的显示形式,启动方式特别,点击界面元素超过2秒后,则启动该界面元素的快捷菜单。

每次启动快捷菜单时,都要调用一次onCreateMenu函数。

4,说明使用操作栏为程序开发所带来的便利。

操作栏代替了传统的标题栏功能,右侧用来显示"

选项菜单”的菜单项,但所显示的内容,会根据操作栏所具有的空间不同而具有不同的现实方式。

在屏幕尺寸较小的设备上,操作栏会自动隐藏菜单项的文字,而仅显示菜单项的图标;

而在屏幕尺寸较大的设备上,操作栏会同时显示菜单项的文字和图标。

操作栏提供多个实用的功能,包括

(1)将“选项菜单”的菜单项显示在操作栏的右侧;

(2)基于Fragment实现类似于Tab页的导航切换功能;

(3)为导航提供可“拖拽一放置”的下拉列表;

(4)可在操作栏上实现类似于“搜索框”的功能。

(6)习题:

1.简述Intent的定义和用途。

Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息。

Intent为Activity^Service和BroadcastReceiver等组件提供交互能力,将一个组件的数据和动作传递给另一个组件。

Intent的一个最常见的用途就是启动Activity和Service;

另一个用途是在Android系统上发布广播消息,广播消息可以是接收到特定数据或消息,也可以是手机的信号变化或电池的电量过低等信息。

2.简述Intent过滤器的定义和功能。

Intent过滤器是一种根据Intent中的动作(Action),类别(Categorie)和数据(Data)等内容,对适合接收该Intent的组件进行匹配和筛选的机制。

Intent过滤器的作用是匹配数据类型、路径和协议,还包括可以用来确定多个匹配项顺序的优先级。

每个Intent过滤器可以定义多个<category>标签,程序开发人员可以使用自定义的类别,或使用Android系统提供的类别。

3.简述Intent解析的匹配规则。

Intent解析的匹配规则是:

(1)Android系统把所有应用程序包中的Intent过滤器集合在一起,形成一个完整的Intent过滤器列表;

(2)在Intent与Intent过滤器进行匹配时,Android系统会将列表中所有Intent过滤器的“动作”和“类别”与Intent进行匹配,没有指定“动作”的Intent过滤器可以匹配任何的Intent,但是没有指定“类别”的Intent过滤器只能匹配没有“类别”的Intent;

(3)把Intent数据Uri的每个子部与Intent过滤器的〈data〉标签中的属性进行匹配;

(4)如果Intent过滤器的匹配结果多于一个,则可以根据在〈intent-filter〉标签中定义的优先级标签来对Intent过滤器进行排序,优先级最高的Intent过滤器将被选择。

以上每步中不匹配的都将被过滤掉。

4.编程实现具有“登录”按钮的主界面,点击“登录”按钮后打开一个新的Activity,新打开的Activity±

面有输入用户名和密码的控件,在用户关闭这个Activity后,将用户名和密码传递到主界面的Activity中。

⑺习题:

1.简述Service的基本原理和用途。

Service能够长期在后台运行,适用于无需用户干预,且规则或长期运行的后台功能。

首先,因为Service没有用户界面,更加有利于降低系统资源的消耗,而旦Service比Activity具有更高的优先级,因此在系统资源紧张时,Service不会被Android系统优先终止。

即使Service被系统终止,在系统资源恢复后Service也将自动恢复运行状态,因此可以认为Service是在系统中永久运行的组件。

Service除了可以实现后台服务功能,还可以用于进程间通信(InterProcessCommunication,IPC),解决不同Android应用程序进程之间的调用和通讯问题。

2.编程建立一个简单的进程内服务,实现比较两个整数大小的功能。

服务提供IntCompare(Int,Int)函数,输入两个整数,输出较大的整数。

3.使用AIDL语言实现功能与第2题相同的跨进程服务。

⑻习题:

1.应用程序一般允许用户自己定义配置信息,如界面背景颜色、字体大小和字体颜色等,尝试使用SharedPreferenc.es保存用户的自定义配置信息,并在程序启动时自动加载这些自定义的配置信息。

2.尝试把第1题的用户自己定义配置信息,以INI文件的形式保存在内部存储器上。

3.简述在嵌入式系统中使用SQLite数据库的优势。

SQLite数据库的优势是其嵌入到使用它的应用程序中。

这样不仅提高了运行效率,而且屏蔽了数据库使用和管理的复杂性,程序仅需要进行最基本的数据操作,其他操作可以交给进程内部的数据库引擎完成。

⑼习题:

1.讨论位置服务和地图应用的发展前景。

位置服务不仅可以对手机用户进行定位,对手机用户的位置进行实时监测和跟踪,还可以查询有关位置附近的各种场所的资讯,所有的信息都可以显不在电了地图上。

因此,定位服务的发展具有广泛的前景。

在人们的生活中,最基本的信息就是"

位置信息”,特别是出现紧急情况时更需要“确切的位置信息”。

据预测,到2014年,在各种移动通信业务用户数排名中,拥有位置服务业务的用户数将仅次于语音业务位居第二,高于E-mail,移动电子商务、移动银行等增值业务。

移动定位服务无疑代表着一个全新的商机,移动通讯领域的商家都看好这个潜力巨大的市场。

(10)习题:

1.分析Widget的优势和不足。

Widget是一个具有特定功能的视图,一般被嵌入到主屏幕中,用户在不启动任何程序的前提下,就可以在主屏幕上直接浏览Widget所显示的信息。

Widget在主屏幕上显示自定义的界面布局,在后台周期性的更新数据信息,并根据这些更新的数据修改主屏幕的显示内容。

Widget可以有效的利用手机的屏幕,快捷、方便的浏览信息,为用户带来良好的交互体验。

Widget需要定时更新数据,在一定程度上增加了设备的耗电量。

2.简述Widget的设计原则和注意事项。

Widget是主屏幕上的显不元素,不仅自身具有一定的设计规则,还要与主屏幕上其它的元素保持美观一致。

3.尝试开发显示电量信息或短信内容的Widgeto略。

(11)习题:

1.简述AndroidNDK开发的优势和不足。

AndroidNDK的优势是利用核心模块使用本地代码(C/C++)来提高开发执行效率,提高了Android应用程序开发的灵活性。

AndroidNDK的不足是使用C/C++语言的话,会增加程序的复杂性和程序调试的难度;

另外,开发人员需要认识到CPU运算量大和内存消耗较少的部分使用本地代码运行效率最高。

2.说明AndroidNDK应用程序开发的一般步骤。

答案:

AndroidNDK应用程序开发的一般步骤是:

(1)下载AndroidNDK的安装包;

(2)下载并安装Cygwin;

(3)配置Cygwin的NDK开发环境;

(4)测试开发环境是否可以正常工作。

3.参考NDK的tow-libs示例,使用静态库实现AndroidNdkDemo示例中加法运算的函数功能。

4.简述在代码中动态检测CPU类型的意义。

动态检测CPU类型有助于优化代码,利用根据CPU类型对C代码中的算法进行优化。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2