(完整版)Android应用程序开发(第二版)课后习题答案
Android移动应用开发实用教程教学课件ppt作者夏辉第2章习题答案

第2章习题答案1. 选择题(1) .B (2).A (3).C (4).AD (5).C (6).B2. 简答题(1)简述Activity生命周期及七个生命周期函数Activity是人机交互的重要组件,Activity是有生命周期的,参见文档图Protected void onCreate();当创建activity时被调用,主要完成一些初始化工作,例如设置布局文件,对按钮绑定监听器,加载savedInstanceState参数,protected void onStart();当Activity被用户可见时调用protected void onRestart();重新启动Activity时调用,该活动仍在栈中,而不是启动新的活动protected void onResume()Activity开始与用户交互时调用,即该activity获得了用户的焦点(无论是启动还是重新启动一个活动,该方法总是被调用)protected void onPause();Activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状态的protected void onStop();Activity被停止并转为不可见状态时调用,如果第2个activity没有完全遮挡第1个activity,则不调用 protected void onDestroy();Activity被完全从系统内存中移除时调用(2)Intent可以实现界面间切换,可以包含动作和动作数据,是连接四大组件的纽带。
Intent 的投递有哪两种?请分别做简单介绍?对于Activity、Service和BroadcastReceiver这三种组件,有独立的传送intent的机制:1.触发新Activity或者让现有的Activity执行新操作Intent可以激活一个新的Activity,或者让一个现有的Activity执行新的操作。
可以通过调用Context.startActivity()或Context.startActivityForResult()方法来完成此功能。
Android应用程序开发(第二版)课后习题答案.doc

第一章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位操作系统,它的功效低,内存占用少,提供了开发使用的函数库、用户界面、通用工具和参考示例。
Android课后习题答案整理

第一章 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位操作系统,它的功效低,内存占用少,提供了开发使用的函数库、用户界面、通用工具和参考示例。
(完整版)Android应用开发期末考试题

(完整版)Android应用开发期末考试题试题、选择题1 android 虚拟设备的缩写是(AVD)2 An droid SDK目前支持的操作系统(DOS3 An droid开发工具插件(ADT没有提供的开发功能(自动更新)4An droid SDK提供一些开发工具可以把应用软件打包成An droid格式文件(APK)5 An droid当中基本的所有的UI都是由(view)或者其子类实现的6 以下不是Android 中调试项目的正确步骤(测试用例)7 下列不是Activity 的生命周期方法之一的是(OnResume)8以下可以做EditText编辑框的提示信息是(adroid:hint)9 以下不是Activity 启动的方法是(gotoActivity)10 以下不是手机操作系统的是(windows vista)二、填空题1 Android 平台由操作系统,中间件,用户界面和应用软件组成的。
2 An droid平台提供了2D,3D的图形支持,数据库支持SQLite 并且集成了浏览器3 目前已知的可以用来搭建Android 开发环境的系统有windows,Linux,Mac 等4开发中推荐使用的IDE开发组合为IDE,eclipse,AD来开发5 An droid SDK主要以java语言为基础6创建工程时需要填写的信息名称有工程名,包的名字,Activity 的名字还有应用的名字7 Android.jar是一个标准的压缩包,其内容包含的是编译后的class,包含了全部的API三、简答题1 An droid SDK中API的包结构的划分?至少五个android.util , android.os, android.content, android.view, android.graphics, android.text 2 Android 软件框架结构自上而下可分为哪些层?应用程序(Applicatio n)、应用程序框架(Applicati on Framework)、各种库(Libraries)和An droid 运行环境(Run Time)、操作系统层(OS)3 Android 应用程序的4 大组件是什么?Activity、Broadcast Intent Receiver、Service、Content Provider4 Android 应用工程文件结构有哪些?源文件(包含Activity),R.java 文件,An droid Library,assets 目录res 目录, drawble 目录, layout 目录, values 目录, AndroidManifest.xml5 Android 开发应用程序最有可能使用到的应用框架部分是哪些?一组View(Ul)组件,Content Providers, Resource Mange,Notification Manger,Activiy Manger6 Android 底层库包含哪些?系统 C 库,媒体库,Surface Man age,LibWebCore, SGL四、编程1 实现点击一个按钮,结束当前Activity 并将需要返回的数据放置并关闭当前窗体请编写核心代码Bundle bundle = new Bundle ();Bundle.putString(“ st数据来自”Activity1 ” );Intent mIntent = new Intent( );mIntent.putExtras(bundle);setResult(RESULT_OK, mIntent);finish( );选择题1 android 虚拟设备的缩写是( AVD)2 An droid SDK目前支持的操作系统(Li nux)3 An droid开发工具插件(ADT没有提供的开发功能(自动更新)4 An droid SDK提供一些开发工具可以把应用软件打包成An droid格式文件(APK5 An droid当中基本的所有的UI都是由(view)或者其子类实现的8以下可以做EditText编辑框的提示信息是(adroid:hint)以下不是手机操作系统的是( windows vista)下列哪个属性是专用于相对布局的(D)A. android.orientation 线性vertical 垂直horizontalB. android:stretchColumnsC. android:layout_alignParentRightD. android:layout_toRightOf定义LinearLayout垂直方向布局时设置的属性(D )A. android:layout_heightB. B.android:gravityC. android:layoutD. android:orientation vertical 垂直为了使android 适应不同分辨率的机型,布局时字体单位应用( D )A. dpB.dip 像素C.pxD.sp下面属于android 的动画分类的有( AB)A. TweenB.FrameC.DrawD.Animation Property Animation 属性动画an droid关于service生命周期的on Create()和on Start()说法正确的是(AD )A. 当第一次启动的时候先后调用onCreate()和onStart()方法B. 当第一次启动的时候只会调用on Create()方法C. 如果service已经启动,将先后调用onCreate()和onStart()方法D. 如果service已经启动,只会执行onStart()方法,不在执行onCreate()方法在android 中使用Menu 时可能需要重写的方法有(AC)A、onCreateOptionsMenu()三种菜单:选项菜单、上下文菜单、子菜单B、onCreateMenu()C、onOptionsItemSelected()D、onItemSelected()Intent 传递数据时,下列的数据类型哪些可以被传递(ABCD)A、SerializableB、charsequenceC、ParcelableD、Bundlejava.io包中的(A )和(B类主要用于对对象Object的读写。
安卓课后习题与答案培训讲学

安卓课后习题与答案(1)习题: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位操作系统,它的功效低,内存占用少,提供了开发使用的函数库、用户界面、通用工具和参考示例。
Android移动应用开发技术与实践ch02-习题答案

习题与练习答案1.选择题1).C 2).AD 3).B 4).C 5).B 6).C 7).D 8).D 9).A 10).C 11).A 12).D2.填空题1).运行状态、暂停状态、停止状态。
2).普通广播、异步广播、有序广播。
3).静态注册、动态注册。
4).Activity、Service5).startservice和bindservice6).standard、singleTop、singleTask、singleInstance7).显示Intent8).onRestart()9).startService、bindService10).onRestart()、onResume()、onPause()、onStop()3.简答题1).简述Intent的定义和用途。
答案:Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息。
Intent为Activity、Service和BroadcastReceiver等组件提供交互能力,将一个组件的数据和动作传递给另一个组件。
Intent的一个最常见的用途就是启动Activity和Service;另一个用途是在Android系统上发布广播消息,广播消息可以是接收到特定数据或消息,也可以是手机的信号变化或电池的电量过低等信息。
2).Activity生命周期以及7个生命周期函数。
答案:Activity状态的变化是人为操作的,而这些状态的改变,也会触发一些事件,叫它生命周期事件。
这些事件分别由7个生命周期函数实现。
(1)onCreate():当创建activity时被调用,主要完成一些初始化工作,例如设置布局文件,对按钮绑定监听器,加载savedlnstanceState参数。
(2)onStart():当Activity被用户可见时调用。
(3)onRestart():重新启动Activity时调用,该活动仍在栈中,而不是启动新的活动。
《Android应用开发教程 第2版》课后习题参考答案

《Android应用开发教程第2版》课后习题参考答案第一章1.主流的Android版本有哪些,各有何特点?Android最早的一个发布版本开始于2007年11月的Android 1.0 beta,其后发布了多个更新版本。
这些更新版本都在前一个版本的基础上修复了bug并且添加了前一个版本所没有的新功能。
从2009年4月开始,Android操作系统改用甜点来作为版本代号,这些版本按照大写字母的顺序来进行命名:纸杯蛋糕(Cupcake)、甜甜圈(Donut)、闪电泡芙(Éclair)、冻酸奶(Froyo)、姜饼(Gingerbread)、蜂巢(Honeycomb)﹑冰激凌三明治(Ice Cream Sandwich)、雷根糖(Jelly Bean)、奇巧(KitKat)、棒棒糖(Lollipop)、棉花糖(Marshmallow)、牛轧糖(Nougat)、奥利奥(Oreo )、馅饼(Pie)等。
此外,Android操作系统还有两个预发布的内部版本,它们分别是铁臂阿童木(Astro)和发条机器人(Bender)。
2.Android的系统结构如何?由里向外有如下几层:1.Linux Kernel(Linux内核)Android是在Linux2.6的内核基础之上运行的,提供核心系统服务:安全、内存管理、进程管理、网络组、驱动模型。
2.Android Runtime(Android运行时)内核之上是核心库和一个叫做Dalvik的JAVA虚拟机。
核心库提供了Java语言核心库中包含的大部分功能,虚拟机负责运行程序。
3.Libraries(库)Android提供了一组C/C++库,它们为平台的不同组件所使用。
开发人员通过Application Framework来使用这些库所提供的不同功能。
4.Application Framework(应用程序框架)无论Android提供的应用程序还是开发人员自己编写的应用程序,都需要使用到Application Framework。
Android应用开发复习 题集附答案

Android应用开发复习题集附答案Android应用开发复习题集附答案Android应用开发是一门具有广泛应用前景的技术,通过这个题集附答案的复习,将帮助你回顾和巩固相关知识点。
以下是一系列与Android应用开发相关的问题,并提供了详细解答。
一、Android基础知识1. 请简要描述Android系统的基本架构。
Android系统基本架构主要包括以下四个层次:- Linux内核层:提供硬件驱动、安全性等底层功能。
- 库和运行时环境层:包括C/C++库、Java库以及Dalvik虚拟机,提供给应用程序运行所需的环境。
- 应用框架层:提供开发Android应用所需的API,包括各种管理模块(Activity Manager、Package Manager等)。
- 应用层:包括各种内置应用以及第三方应用。
2. 解释Android Manifest文件的作用。
Android Manifest文件是每个Android应用都必须包含的文件,用于描述应用程序的基本信息和配置,包括应用程序的入口Activity、应用程序所需的权限、组件信息等。
3. 请简要介绍四大组件是什么,并举例说明应用场景。
四大组件包括:Activity、Service、BroadcastReceiver和ContentProvider。
- Activity: 代表应用界面的展示,比如登录界面、主界面等。
- Service: 用于执行后台任务,比如音乐播放等。
- BroadcastReceiver: 监听系统广播消息,比如监听网络状态变化等。
- ContentProvider: 用于不同应用程序之间共享数据,比如通讯录。
二、Android应用开发技术1. 请简要介绍Android应用的生命周期。
Android应用的生命周期由以下几个状态组成:创建(Created)、启动(Started)、恢复(Resumed)、暂停(Paused)、停止(Stopped)和销毁(Destroyed)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章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设备或模拟器的工具,负责将应用程序安装到模拟器和设备中,或从模拟器或设备中传输文件。
DDMS是Android系统中内置了调试工具,可以用来监视Android系统中进程、堆栈信息,查看logcat日志,实现端口转发服务和屏幕截图功能,模拟电话呼叫和SMS短信,以及浏览Android模拟器文件系统等。
第三章第一个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.尝试建立一个支持Google APIs的AVD。
略。
3.使用Eclipse建立名为MyAndroid的工程,包名称为edu.hrbeu.MyAndroid,使用第2题中建立的AVD,程序运行时显示Hello MyAndroid。
略。
4.尝试使用命令行方式建立一个Android应用程序,并完成apk打包和程序安装过程。
略。
第四章Android生命周期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被系统终止后,都会转换成非活动状态。