版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、安卓 简 答+ 程 序题 1 请简述 Android ADT (参见23) 答:ADT,是 Android Development ToolKit的缩写,表示开发工具包,是Eclipse的一个 插件,用于快速创建Android工程、用户界面和基于Android API的组件。(3 ADT可以在Eclipse中输入其下载地址进行安装。在Eclipse中单独安装 ADT插件的方法 是使用菜单Help f Install New Software ”。( 1 或 2 在Eclipse的首选项中,只有安装了 ADT,才会岀现做 Android应用开发的选项“ Android ”。 (O或 1 2、请简
2、述 Android SDK (参见 23) 答:Android SDK( Software Development Kit),表示 Android 软件开发包,是 Android 整体开发中所用到的工具包,提供了库文件以及其他开发所用到的工具。如果在Eclipse中不关 联Android SDK,则无法开发 Android应用程序。(2) 在Eclipse中使用Android SDK提供的工具可以进行程序调试或对.apk文件进行签名等。 Android API 是 Android SDK 的主体。(1 Android SDK目录包含的子目录中 build-tools :包含了 Android应
3、用的编译工具;platforms : 存放 Android SDK Platforms 平台相关的文件; add-ons :存放 Android的扩展库;sources存 放Android API的源码;platform-tools :存放平台工具;tools:包含了用于操作 SQLite数据库 的程序、模拟器管理程序、对 Android应用程序进行调试和模拟服务的批处理程序等工具。(2 3、请简述 Android AVD (参见 29) 答:AVD (android virtual device),表示 Android 虚拟设备即模拟器,是Android SDK 提供的重要工具之一,用于在没
4、有物理设备的情况下,在计算机上对Android程序进行开发、 调试和仿真。(3) AVD 可以通过 Eclipse菜单中 Windows f Android AVD Manager f new 创建,通过 Android AVD Manager f start 启动。(1 在Android应用工程名的的快捷菜单中,选择Run As f Android Application ”可将工程 部署到AVD并运行。(1 4、请简述“I18n 警告性错误(35) 答:I18n是国际化(Internationalization )的简称,国际化是指在设计软件时,将软件与特 定语言及地区脱钩的过程。(2 I
5、18n警告性错误在程序的写法不符合国际化做法的时候发生。 如文本框控件值的引用要通过引用字符串的变量的方法来实现(如 )这是符合国际化的做法,如果不通过引用字 符串的变量的方法,而直接用字符串常量代替(如) 则不符合国际化做法,会导致“I18n警告性错误一一黄色的感叹号。(2) 5、请简述 Activity组件与视图 View (46、60) 答:Activity是安卓最重要的组件,负责用户界面的设计,Activity用户界面框架采用MVC 模式(model view controller )。(1 ) 控制器负责接受并响应程序的外部动作?;通过视图来反馈应用程序给用户的信息(通常是 屏幕信息
6、反馈);模型是应用程序的核心,用于保存数据和代码。(1) Android组件在清单文件中使用注册。Activity组件通过Intent对象激活。(1) Activity作为用户界面,提供了一些基本方法,如设置内容视图方法setContentView ()、 找控件方法findViewById ()、关闭当前窗口方法 finish ()等。(1) Activity的一些扩展方法包括,用于数据共享存储的getPreference ()方法、用于动态加载 页面布局的 getLayoutInflater ()方法,开始后台服务的startService ()方法、发送广播的 sendBroadcast
7、 ()方法、获得程序间数据共享的内容解析器的getContentResolver ()方法等。 (1) ) 每个Activity除了有创建 onCreat ()、销毁onDestroy()两个基本方法外,还有停止onStop ()、激活 onStart ()、暂停 onPause ()、恢复 onResume ()等方法。(1) Activity在其生命周期有三种状态:运行态、暂停态和停止态。运行态是指Activity岀现在 屏幕的最上层的状态,此时用户通常可以获取焦点;暂停态是指Activity调用onPause ()方法 后岀现的状态,其上还有处于运行态的Activity存在,并且Acti
8、vity没有被完全遮住,即处于暂 停态的Activity有一部分视图被用户所见;停止态是指当前Activity调用onStop ()方法后岀 现的状态,此时它完全被处于运行态的Activity遮挡住,即用户界面完全不被用户所见。 、请简述Service组件 (46/171) (简不了啊妈妈) 答:Service服务类组件是 Android提供的无用户界面、长时间在后台运行的组件。Android 组件在清单文件中使用注册。Service组件通过Intent对象激活。Service有利于降低 系统资源的开销,而且比 Activity有更高的优先级。 Service服务的调用分为显式启动和隐式启动。
9、显式启动是指在创建Intent对象时,指明 Service所在的类,并调用方法 startService ( Intent)启动Service。隐式启动是指在注册Service 的同时,内嵌标签 及, 标签的android:name属性指定了引用该 服务的名称 隐式启动的好处是不需要指明需要启动哪一个Activity,而由Android系统根据Intent的 动作和数据来决定,这样有利于降低Android组件之间的耦合度,强调 Android组件的可复用 性。 若Service与调用它的组件在同一个应用程序中,则既可以使用显式启动,也可以使用隐式 启动(显式启动代码简洁);若服务和调用服务的组
10、件在不同的应用程序中,则服务只能用隐 式启动方式。 Service有startservice ()的非绑定启动方式和bindService ()的绑定启动方式两种。 Service的两种启动方式: 一、采用start开启服务 使用Service的步骤: (1) .定义一个类继承Service (2) .在 Manifest.xml 文件中配置该 Service (3) .使用 Context 的 startService(Intent)方法启动该 Service (4) .不再使用时,调用stopService(Intent)方法停止该服务 使用这种start方式启动的Service的生命周期
11、如下: onCreate()onStartCommand()( onStart()方法已过时)onDestory() 说明:如果服务已经开启,不会重复的执行 onCreate(), 而是会调用 onStart()和 onStartCommand()。服务停止的时候调用onDestory()。服务只会被停止一次。 特点:一旦服务开启跟调用者(开启者)就没有任何关系了。 开启者退岀了,开启者挂了,服务还在后台长期的运行。 开启者不能调用服务里面的方法。 二、采用bind的方式开启服务 使用Service的步骤: (1) .定义一个类继承Service (2) .在 Manifest.xml 文件中
12、配置该 Service (3) .使用 Context 的 bindService(Intent, ServiceConnection, int)方法启动该 Service (4) .不再使用时,调用unbindService(ServiceConnection)方法停止该服务 使用这种bind方式启动的Service的生命周期如下: onCreate() -onBind()-onunbind()-onDestory() 注意: 绑定服务不会调用onstart()或者onstartcommand()方法 特点: bind的方式开启服务,绑定服务,调用者挂了,服务也会跟着挂掉。 绑定者可以调用服
13、务里面的方法。 服务的整个生命周期从调用onCreate()开始起,到 onDestroy()返回时结束。与Activity 类似,服务也在onCreate()中完成初始设置,并在onDestroy()中释放所有剩余资源。 无论服务是通过startService()还是bindService()创建,都会为所有服务调用onCreate() 和 onDestroy()方法。 服务的有效生命周期从调用 onStartCommand()或 onBind() 方法开始。每种方法均有 Intent 对象,该对象分别传递到startService()或 bindService()。 onStartComm
14、and()返 onUnbind()返回时结束。 且必须通过调用stopSelf() 对于启动服务,有效生命周期与整个生命周期同时结束(即便是在 回之后,服务仍然处于活动状态)。对于绑定服务,有效生命周期在 启动服务 该服务在其他组件调用startService()时创建,然后无限期运行, 来自行停止运行。此外,其他组件也可以通过调用stopService()来停止服务。服务停止后,系 统会将其销毁。 绑定服务 该服务在另一个组件(客户端)调用bindService()时创建。然后,客户端通过IBinder接 口与服务进行通信。客户端可以通过调用unbindService()关闭连接。多个客户端
15、可以绑定到相 同服务,而且当所有绑定全部取消后,系统即会销毁该服务。(服务不必自行停止运行) 7、请简述 BroadcastReceiver 组件(46、191) 答:BroadcastReceiver,即广播接收者,用来接收来自系统或其它应用程序的广播, 并作出回应。广播接收者组件没有UI界面。(2 在Android应用中,广播接收者类使用标签 在清单文件中注册,为静态注册 方式,只能具有相应权限的广播接收者才能接收广播、获取Intent对象中的数据。动态注册是 在程序中通过使用 Context类提供的方法 registerReceiver ()完成的。(2 创建广播接收者的方法有两种,一是
16、标准的类继承方法,二是通过向导创建广播接收者 (1) BroadcastReceiver组件通过Intent对象激活。一个BroadcastRe的生命周期从 调用onReceiver (Context, Intent)方法开始,到该方法返回结束。(1 8、请简述 ContentProvider 组件(46、251) 答:ContentProvider (内容提供者)是Android系统中不同应用程序之间 共享数 据的接口,用于保存和检索数据。使用ContentProvider访问某个应用程序的数据,不 必关心其数据的存储方式,其他应用程序可以通过一个ContentProvider类型的对象来
17、操作某个程序的数据。(2 Android应用开发者将自己的持久化数据公开给其他应用程序有两种方法:一是定 义自己的ContentProvider子类,在清单文件里使用vprovider标签注册,并实现CRUD增 加(Create)、读取查询(Retrieve卜更新(Update)和删除(Delete); 二是将当前应用程序的 数据添加到已有的 ContentProvider中。(2) 组件ContentProvider的四个CRUD方法的第一方法参数均为Uri类型。 创建 ContentProvider子类时,vprovider标签 中name为必填 属性,表示 ContentProvider
18、子类的名称;authorities也是必填属性,表示其他应用程序访问该 ContentProvider时的路径;permission是任选属性,用于对本应用提供的数据访问的 限定,省略permission属性时,表示任何应用都可以访问本应用提供的数据。(1 9、请简述意图对象intent (47) 答:Intent,意图、打算,用于对某个操作的抽象描述,包括动作名称、操作数据以及附加 数据的描述。 在Android中,通过Intent对象实现组件之间相互调用的相关信息。意图类Intent在Android 程序设计中起纽带作用,负责传递信息和数据。(1 Android组件调用时,Intent除了
19、封装意图名称,还封装了一些方法,主要包括构造方法、 存放附加数据方法、获取数据方法和设置属性方法等。(1 Intent显式调用是通过使用显式意图明确要激活的组件,其方法是通过Intent提供的方法 setClass ()、setClassName ()或 setComponent ()来指定的。(1 Intent隐式调用需要在清单文件中使用标签 (意图过滤器)来指定动作名称。 (1 隐式意图就是在意图激活Activity、Service或BroadcastReceiver这三类组件时,不需 要显式指出组件的名称,而是指定action及category,Android系统会根据其特征找到 相应的
20、组件并激活。 延其意图类 PendingIntent 一般用在 Notification上,可以理解为延期执行的Intent, 是对Intent的一个包装。(1 10、请简述 AIDL(185) 答:AIDL ( android interface definition language )是 Android 自定义的接口描述语言,可 以简化进程间数据格式转换和数据交换的代码,通过定义Service内部的共有方法,允许在不同 进程的调用者和 Service之间相互传递数据。(2) AIDL允许定义函数参数的传递方向,有三种方向:标识为in的参数将从调用者传递到远 程服务中,标识为 out的参数
21、将从远程服务传递到调用者中,标识为 inout的参数先从调用者传 递到远程服务中,再从远程服务返回到调用者。(2 使用AIDL跨进程调用(远程服务)的服务器端开发,其主要步骤如下: (1) .创建接口描述文件; (2) .建立一个服务类(service的子类)并实现接口; (3) .在Service的绑定方法 onBind ( Intent)里返回实现了接口的实例对象; (4) .在清单文件中注册 AIDL对应的服务。 使用AIDL跨进程调用(远程服务)的客户端开发,其主要步骤如下: (1) .创建与服务器端相同的接口描述文件; (2) .在主Activity中,定义远程服务连接对象,在其内创
22、建远程服务对象; (3) .在主Activity中使用绑定方式调用远程服务,通过远程服务对象调用远程服务里的方 法。(2 11、请简述SQLite数据库的特点(218) 答:SQLite数据库适合于嵌入式系统,占用资源少、运行高效、可移植性好、并且提供了 零配置的运行模式,是Android手机自带(即内置)的轻量级数据库软件,提供了对数据库的 增删改查等操作。(3 SQLite数据库体系结构中最核心的部分是虚拟机,也称虚拟数据库引擎(virtual database engine,VDBE ),用来解释字节代码,以完成对数据库的操作。(2 12、请简述 Android移动开发与javaWeb开
23、发的异同。(P5) 答:相似之处:java Web开发中的用户界面 UI与Android中的用户界面 Activity是平行 的;(1) java Web网站开发和 Android都有UI设计;(1) Android开发是java开发的一个分支,Android类库用了 java中的部分常用类库;(1 相异之处:二者的工程文件结构有很大的差异;(1 就难易程度来说,Android开发比java Web开发要简单容易很多;(1 13、请简述 Android系统架构(参见P14) 答:Anndroid是基于Linux内核的软件平台和操作系统,采用了软件堆栈架构,共分为四 层:Linux内核层、Ann
24、droid函数库及运行时层、应用程序框架层和应用程序层。(2) Linux内核是硬件和其他软件堆层之间的一个抽象隔离层,提供由操作系统内核管理的底 层基础功能,主要有安全机制、内存管理、进程管理、网络协议栈和驱动程序等。 Anndroid函数库及运行时是第二层,位于Linux内核之上,也称中间件层。 Anndroid运行时由核心库和Dalvik虚拟机构成。核心库为开发人员提供了Android系统 的特有函数功能和java语言的基本函数功能,Dalvik虚拟机采用适合内存和处理器受限的专用 格式。 应用程序框架层提供了Android平台的管理功能和组件的重用机制,包括Activity管理、 资源
25、管理、位置管理、通知消息管理、View系统和内容提供者等。 Android的三大核心功能如下: (1) . View :提供了绘制图形,处理触摸、按键事件等功能; (2) . ActivicyManagerService:简称为 AMS,主要功能是管理所有应用程序的Activity、 内存管理等,AMS作为一种系统级服务管理所有Activity,当操作(启动或停止)某个 Activity时,必须报告给 AMS,而不能“擅自处理,在内存不足时,AMS可能主动杀死 后台的Activity ; (3) . WindowManagerService :简称 WMS,主要功能是为所有应用程序分配窗口并管 这些窗口。 应用程序层提供了一系列核心应用程序,如打电话、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息论与编码理论基础(第三章)
- 技术创新与研发项目申报管理制度
- 部编版五年级语文下册第七单元各类阅读真题(含小古文、非连续性文本等)名师解析连载
- 基础知识综合(原卷版)-2025年中考语文复习专练
- 2024年江苏客运员考试题库及答案
- 2024年黑龙江客运从业资格证考试题答案解析
- 2024年海口客运从业资格考试题库app
- 2024年黑河小车客运从业资格证考试
- 2024年渭南办理客运从业资格证版试题
- 2024年安徽客运资格证培训考试题
- 检验科报告双签字制度
- 北京市海淀区乡镇地图可编辑PPT行政区划边界高清(北京市)
- 2022-2023学年湖南省长沙市长郡滨江中学物理九年级第一学期期中联考模拟试题含解析
- 幼儿园教学课件中班数学《水果列车》课件
- 小学语文五年级读写大赛试卷
- 二年级(上)音乐第四单元 单元分析
- 第一部分心理健康教育概论
- 集团公司后备人才选拔培养暂行办法
- 挡墙施工危险源辨识及风险评价
- 我们学习的榜样4王继才PPT课件模板
- 2022年心理名师工作室三年发展规划及年度实施计划工作计划思路范文
评论
0/150
提交评论