Android复习

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Q:简述Android平台体系结构的层次划分,并说明各个层次的作用。

A:Android是基于Linux内核的软件平台和操作系统,采用了软件堆栈的架构,共分为4层:第一层Linux内核,提供有操作系统内核管理的底层基础功能;第二层中间层,由函数库和Android运行时构成;第三层应用程序框架层,提供了Android平台的管理功能和组件重用机制;第四层应用程序层,提供了一系列核心应用程序。

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

A:Android模拟器

支持多种屏幕分辨率和不同的外观,支持加载SD卡映像文件,更改模拟网络状态,延迟

和速度,模拟电话呼叫和接收短信等;不支持接听真实电话,USB连接,摄像头捕获,设

备耳机,电池电量和AC电源检测,SD卡插拔检查和使用蓝牙设备

Android调试桥(Android Debug Bridge,ADB)

用于连接Android设备或模拟器的工具,负责将应用程序安装到模拟器和设备中,或从

模拟器或设备中传输文件

DDMS

Android系统中内置的调试工具,监视Android系统中进程、堆栈信息,查看logcat日

志,实现端口转发服务和屏幕截图功能,模拟器电话呼叫和SMS短信,以及浏览Android

模拟器文件系统等.

Q:简述Activity声明周期的4种状态,以及状态之间的变换关系。

A:Activity生命周期指Activity从启动到销毁的过程Activity启动后处于活动状态,此时Activity在用户界面中处于最上层,完全能被用

户看到,能够与用户进行交互。如果用户启动了新的Activity,部分遮挡了当前的

Activity,则当前的Activity转换为暂停状态,该Activity不再处于用户界面的最上

层,且不能够与用户进行交互。如果用户启动了新的Activity完全遮挡当前的Activity,

则当前的Activity转换为停止状态,停止状态的Activity 将优先被终止。活动状态的

Activity被用户关闭后,或暂停状态或停止状态的Activity被系统终止后Activity便

进入了非活动状态。

Q:简述Android系统三大菜单的特点以及使用方式

A:菜单是应用程序中非常重要的组成部分,在不占用界面空间的前提下,为应用程序提供了统一的功能和设置界面,为程序开发人员提供了易于使用的编程。

Android系统支持三种菜单

选项菜单(Option Menu):按设备上Menu 键显示的菜单。

子菜单(Submenu):其它两种菜单都可以加入子菜单,但子菜单不能再嵌套子菜单

快捷菜单(Context Menu):长按特定界面view显示,跟具体的 view 绑定在一起,类

似PC上鼠标右键菜单。

Q:简述Intent的定义和用途.

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

Intent也可称为一个在不同组件之间传递的消息,这个消息在到达接收组件后,接收组

件会执行相关的动作,Intent为Activity、Service和BroadcastReceiver等组件提供

交互能力。Intent的用途:启动Activity和Service,在Android系统上发布广播消息.

Q:简述Service的基本原理和用途。

A:Service是Android系统提供的Service(服务)组件,不直接与用户进行交互,能够长期在后台运行,在实际应用中,有很多应用需要使用Service,经常提到的例子就是MP3播放器。Service被系统终止,在系统资源恢复后Service 也将自动恢复运行状态,因此可以认为Service是在系统中永久运行的组件。Service除了可以实现后台服务功能,还可以用于进程间通信(Inter Process Communication,IPC),解决不同Android应用程序进程之间的调用和通讯问题。Q:简述R.java和AndroidManifest.xml文件的用途

A:AndroidManifest.xml是XML格式的Android程序声明文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包括应用程序名称、图标、包名称、

模块组成、授权和SDK最低版本等R.java文件是ADT自动生成的文件包含对drawable、layout和values目录内的资源的引用指针,Android程序能够直接通过R类引用目录中的资源。

Q:简述Android系统的4种基本组件Activity,Service,BroadcastReceiver和ContentProviser的用途。A: Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生界面事件。Android应用程序可以包含一个或多个Activity,一般需要指定一个程序启动时显示的Activity。几乎所有的Activity都是和用户进行交互的,Activity主要关注视图窗体创建,对用户表现为全屏窗体。从视觉效果来看,一个Activity占据当前的窗口,响应所有窗口事件,具备有控件,菜单等界面元素。从内部逻辑来看,Activity需要为了保持各个界面状态,需要做很多持久化的事情,还需要妥善管理生命周期,和一些转跳逻辑。

Service一般用于没有用户界面,但需要长时间在后台运行的应用,可公开Service的程序接口,供其他进程调用。

Service是Android实现程序后台运行的解决方案,用于执行不需要和用户交互且要求长期运行的任务。不能运行在一个独立的进程当中,而依赖创建服务时所在的应用程序进程。只能在后台运行,可以和其他组件进行交互。Broadcast Receiver用来接收广播消息的组件,不包含任何用户界面。可以启动Activity或者Notification通知用户接收到重要信息。广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。

ContentProvider是Android系统提供的一种标准的共享数据的机制,其他程序通过ContentProvider访问程序的私有数据.Android系统内部提供一些内置的ContentProvider,能够为应用程序提供重要的数据信息,同一份数据,手机内没有更多的空间存储两次以上。针对这种情况,Android提供了Content Provider,它是不同应用程序间共享数据的标准API,统一了数据访问方式。包括添加、删除、修改和查询等操作。

Q:简述6种界面布局的特点

A:线性布局(LinearLayout)是一种重要的界面布局,在线性布局中,所有的子元素都按照垂直或水平的顺序在界面上排列,如果垂直排列,则每行仅包含一个界面元素,如果水平排列,则每列仅包含一个界面元素;

框架布局(FrameLayout)是最简单的界面布局,是用来存放一个元素的空白空间,且子元素的位置是不能够指定的,只能够放置在空白空间的左上角,如果有多个子元素,后放置的子元素将遮挡先放置的子元素;

表格布局(TableLayout)是一种常用的界面布局,通过指定行和列将界面元素添加

到表格中,网格的边界对用户是不可见的。表格布局支持嵌套,可以将表格布局放

置在表格布局的表格中可以在表格布局中添加其他界面布局,例如线性布局、相对

布局等;

相对布局(RelativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素

与其他元素的相对位置关系,确定界面中所有元素的布局位置,能够最大程度保证

在各种屏幕尺寸的手机上正确显示界面布局

绝对布局(AbsoluteLayout)能通过指定界面元素的坐标位置,来确定用户界面的

整体布局绝对布局是一种不推荐使用的界面布局,因为通过X轴和Y轴确定界面元

素位置后,Android系统不能够根据不同屏幕对界面元素的位置进行调整,降低了

界面布局对不同类型和尺寸屏幕的适应能力

网格布局(GridLayout)将用户界面划分为网格,界面元素可随意摆放在网格中,

网格布局比表格布局(TableLayout)在界面设计上更加灵活,在网格布局中界面元

素可以占用多个网格,而在表格布局只能将界面元素指定在一个表格行(TableRow)

中,不能跨越多个表格行。

相关文档
最新文档