安卓移动开发简答题+程序.docx

上传人:b****7 文档编号:16756023 上传时间:2023-07-17 格式:DOCX 页数:15 大小:471.83KB
下载 相关 举报
安卓移动开发简答题+程序.docx_第1页
第1页 / 共15页
安卓移动开发简答题+程序.docx_第2页
第2页 / 共15页
安卓移动开发简答题+程序.docx_第3页
第3页 / 共15页
安卓移动开发简答题+程序.docx_第4页
第4页 / 共15页
安卓移动开发简答题+程序.docx_第5页
第5页 / 共15页
安卓移动开发简答题+程序.docx_第6页
第6页 / 共15页
安卓移动开发简答题+程序.docx_第7页
第7页 / 共15页
安卓移动开发简答题+程序.docx_第8页
第8页 / 共15页
安卓移动开发简答题+程序.docx_第9页
第9页 / 共15页
安卓移动开发简答题+程序.docx_第10页
第10页 / 共15页
安卓移动开发简答题+程序.docx_第11页
第11页 / 共15页
安卓移动开发简答题+程序.docx_第12页
第12页 / 共15页
安卓移动开发简答题+程序.docx_第13页
第13页 / 共15页
安卓移动开发简答题+程序.docx_第14页
第14页 / 共15页
安卓移动开发简答题+程序.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

安卓移动开发简答题+程序.docx

《安卓移动开发简答题+程序.docx》由会员分享,可在线阅读,更多相关《安卓移动开发简答题+程序.docx(15页珍藏版)》请在冰点文库上搜索。

安卓移动开发简答题+程序.docx

安卓移动开发简答题+程序

安卓简答+程序题

1、请简述AndroidADT(参见23)

答:

ADT,是AndroidDevelopmentToolKit的缩写,表示开发工具包,是Eclipse的一个插件,用于快速创建Android工程、用户界面和基于AndroidAPI的组件。

(3’)

ADT可以在Eclipse中输入其下载地址进行安装。

在Eclipse中单独安装ADT插件的方法是使用菜单“Help→InstallNewSoftware”。

(1’或2’)

在Eclipse的首选项中,只有安装了ADT,才会出现做Android应用开发的选项“Android”。

(0’或1’)

2、请简述AndroidSDK(参见23)

答:

AndroidSDK(SoftwareDevelopmentKit),表示Android软件开发包,是Android整体开发中所用到的工具包,提供了库文件以及其他开发所用到的工具。

如果在Eclipse中不关联AndroidSDK,则无法开发Android应用程序。

(2’)

在Eclipse中使用AndroidSDK提供的工具可以进行程序调试或对.apk文件进行签名等。

AndroidAPI是AndroidSDK的主体。

(1’)

AndroidSDK目录包含的子目录中build-tools:

包含了Android应用的编译工具;platforms:

存放AndroidSDKPlatforms平台相关的文件;add-ons:

存放Android的扩展库;sources:

存放AndroidAPI的源码;platform-tools:

存放平台工具;tools:

包含了用于操作SQLite数据库的程序、模拟器管理程序、对Android应用程序进行调试和模拟服务的批处理程序等工具。

(2’)

3、请简述AndroidAVD(参见29)

答:

AVD(androidvirtualdevice),表示Android虚拟设备即模拟器,是AndroidSDK提供的重要工具之一,用于在没有物理设备的情况下,在计算机上对Android程序进行开发、调试和仿真。

(3’)

AVD可以通过Eclipse菜单中Windows→AndroidAVDManager→new创建,通过AndroidAVDManager→start启动。

(1’)

在Android应用工程名的的快捷菜单中,选择“RunAs→AndroidApplication”可将工程部署到AVD并运行。

(1’)

 

4、请简述“I18n"警告性错误(35)

答:

I18n是国际化(Internationalization)的简称,国际化是指在设计软件时,将软件与特定语言及地区脱钩的过程。

(2’)

“I18n"警告性错误在程序的写法不符合国际化做法的时候发生。

(1’)

如文本框控件值的引用要通过引用字符串的变量的方法来实现(如

text=”@string/hello_world”/>)这是符合国际化的做法,如果不通过引用字符串的变量的方法,而直接用字符串常量代替(如

text=”字符串常量”/>)则不符合国际化做法,会导致“I18n"警告性错误——黄色的感叹号。

(2’)

 

5、请简述Activity组件与视图View(46、60)

答:

Activity是安卓最重要的组件,负责用户界面的设计,Activity用户界面框架采用MVC模式(modelviewcontroller)。

(1’)

控制器负责接受并响应程序的外部动作 ;通过视图来反馈应用程序给用户的信息(通常是屏幕信息反馈);模型是应用程序的核心,用于保存数据和代码。

(1’)

Android组件在清单文件中使用注册。

Activity组件通过Intent对象激活。

(1’)

Activity作为用户界面,提供了一些基本方法,如设置内容视图方法setContentView()、找控件方法findViewById()、关闭当前窗口方法finish()等。

(1’)

Activity的一些扩展方法包括,用于数据共享存储的getPreference()方法、用于动态加载页面布局的getLayoutInflater()方法,开始后台服务的startService()方法、发送广播的sendBroadcast()方法、获得程序间数据共享的内容解析器的getContentResolver()方法等。

(1’)

每个Activity除了有创建onCreat()、销毁onDestroy()两个基本方法外,还有停止onStop()、激活onStart()、暂停onPause()、恢复onResume()等方法。

(1’)

Activity在其生命周期有三种状态:

运行态、暂停态和停止态。

运行态是指Activity出现在屏幕的最上层的状态,此时用户通常可以获取焦点;暂停态是指Activity调用onPause()方法后出现的状态,其上还有处于运行态的Activity存在,并且Activity没有被完全遮住,即处于暂停态的Activity有一部分视图被用户所见;停止态是指当前Activity调用onStop()方法后出现的状态,此时它完全被处于运行态的Activity遮挡住,即用户界面完全不被用户所见。

 

6、请简述Service组件(46/171)(简不了啊妈妈)

答:

Service服务类组件是Android提供的无用户界面、长时间在后台运行的组件。

Android组件在清单文件中使用注册。

Service组件通过Intent对象激活。

Service有利于降低系统资源的开销,而且比Activity有更高的优先级。

Service服务的调用分为显式启动和隐式启动。

显式启动是指在创建Intent对象时,指明Service所在的类,并调用方法startService(Intent)启动Service。

隐式启动是指在注册Service的同时,内嵌标签标签的android:

name属性指定了引用该服务的名称。

隐式启动的好处是不需要指明需要启动哪一个Activity,而由Android系统根据Intent的动作和数据来决定,这样有利于降低Android组件之间的耦合度,强调Android组件的可复用性。

若Service与调用它的组件在同一个应用程序中,则既可以使用显式启动,也可以使用隐式启动(显式启动代码简洁);若服务和调用服务的组件在不同的应用程序中,则服务只能用隐式启动方式。

Service有startService()的非绑定启动方式和bindService()的绑定启动方式两种。

Service的两种启动方式:

1、采用start开启服务

使用Service的步骤:

(1).定义一个类继承Service

(2).在Manifest.xml文件中配置该Service

(3).使用Context的startService(Intent)方法启动该Service

(4).不再使用时,调用stopService(Intent)方法停止该服务

使用这种start方式启动的Service的生命周期如下:

onCreate()--->onStartCommand()(onStart()方法已过时)--->onDestory()

说明:

如果服务已经开启,不会重复的执行onCreate(),而是会调用onStart()和onStartCommand()。

服务停止的时候调用onDestory()。

服务只会被停止一次。

特点:

一旦服务开启跟调用者(开启者)就没有任何关系了。

开启者退出了,开启者挂了,服务还在后台长期的运行。

开启者不能调用服务里面的方法。

二、采用bind的方式开启服务

使用Service的步骤:

(1).定义一个类继承Service

(2).在Manifest.xml文件中配置该Service

(3).使用Context的bindService(Intent,ServiceConnection,int)方法启动该Service

(4).不再使用时,调用unbindService(ServiceConnection)方法停止该服务

使用这种bind方式启动的Service的生命周期如下:

onCreate()--->onBind()--->onunbind()--->onDestory()

注意:

绑定服务不会调用onstart()或者onstartcommand()方法

特点:

bind的方式开启服务,绑定服务,调用者挂了,服务也会跟着挂掉。

绑定者可以调用服务里面的方法。

服务的整个生命周期从调用onCreate()开始起,到onDestroy()返回时结束。

与Activity类似,服务也在onCreate()中完成初始设置,并在onDestroy()中释放所有剩余资源。

无论服务是通过startService()还是bindService()创建,都会为所有服务调用onCreate()和onDestroy()方法。

服务的有效生命周期从调用onStartCommand()或onBind()方法开始。

每种方法均有Intent对象,该对象分别传递到startService()或bindService()。

对于启动服务,有效生命周期与整个生命周期同时结束(即便是在onStartCommand()返回之后,服务仍然处于活动状态)。

对于绑定服务,有效生命周期在onUnbind()返回时结束。

启动服务

该服务在其他组件调用startService()时创建,然后无限期运行,且必须通过调用stopSelf()来自行停止运行。

此外,其他组件也可以通过调用stopService()来停止服务。

服务停止后,系统会将其销毁。

绑定服务

该服务在另一个组件(客户端)调用bindService()时创建。

然后,客户端通过IBinder接口与服务进行通信。

客户端可以通过调用unbindService()关闭连接。

多个客户端可以绑定到相同服务,而且当所有绑定全部取消后,系统即会销毁该服务。

(服务不必自行停止运行)

 

7、请简述BroadcastReceiver组件(46、191)

答:

BroadcastReceiver,即广播接收者,用来接收来自系统或其它应用程序的广播,并作出回应。

广播接收者组件没有UI界面。

(2’)

在Android应用中,广播接收者类使用标签在清单文件中注册,为静态注册方式,只能具有相应权限的广播接收者才能接收广播、获取Intent对象中的数据。

动态注册是在程序中通过使用Context类提供的方法registerReceiver()完成的。

(2’)

创建广播接收者的方法有两种,一是标准的类继承方法,二是通过向导创建广播接收者。

(1’)

BroadcastReceiver组件通过Intent对象激活。

一个BroadcastReceiver的生命周期从调用onReceiver(Context,Intent)方法开始,到该方法返回结束。

(1’)

8、请简述ContentProvider组件(46、251)

 

答:

ContentProvider(内容提供者)是Android系统中不同应用程序之间共享数据的接口,用于保存和检索数据。

使用ContentProvider访问某个应用程序的数据,不必关心其数据的存储方式,其他应用程序可以通过一个ContentProvider类型的对象来操作某个程序的数据。

(2’)

Android应用开发者将自己的持久化数据公开给其他应用程序有两种方法:

一是定义自己的ContentProvider子类,在清单文件里使用标签注册,并实现CRUD(增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete));二是将当前应用程序的数据添加到已有的ContentProvider中。

(2’)

组件ContentProvider的四个CRUD方法的第一方法参数均为Uri类型。

创建ContentProvider子类时,标签中name为必填属性,表示ContentProvider子类的名称;authorities也是必填属性,表示其他应用程序访问该ContentProvider时的路径;permission是任选属性,用于对本应用提供的数据访问的限定,省略permission属性时,表示任何应用都可以访问本应用提供的数据。

(1’)

 

9、请简述意图对象intent(47)

答:

Intent,意图、打算,用于对某个操作的抽象描述,包括动作名称、操作数据以及附加数据的描述。

在Android中,通过Intent对象实现组件之间相互调用的相关信息。

意图类Intent在Android程序设计中起纽带作用,负责传递信息和数据。

(1’)

Android组件调用时,Intent除了封装意图名称,还封装了一些方法,主要包括构造方法、存放附加数据方法、获取数据方法和设置属性方法等。

(1’)

Intent显式调用是通过使用显式意图明确要激活的组件,其方法是通过Intent提供的方法setClass()、setClassName()或setComponent()来指定的。

(1’)

Intent隐式调用需要在清单文件中使用标签(意图过滤器)来指定动作名称。

(1’)

隐式意图就是在意图激活Activity、Service或BroadcastReceiver这三类组件时,不需要显式指出组件的名称,而是指定action及category,Android系统会根据其特征找到相应的组件并激活。

延其意图类PendingIntent一般用在Notification上,可以理解为延期执行的Intent,是对Intent的一个包装。

(1’)

 

10、请简述AIDL(185)

答:

AIDL(androidinterfacedefinitionlanguage)是Android自定义的接口描述语言,可以简化进程间数据格式转换和数据交换的代码,通过定义Service内部的共有方法,允许在不同进程的调用者和Service之间相互传递数据。

(2’)

AIDL允许定义函数参数的传递方向,有三种方向:

标识为in的参数将从调用者传递到远程服务中,标识为out的参数将从远程服务传递到调用者中,标识为inout的参数先从调用者传递到远程服务中,再从远程服务返回到调用者。

(2’)

使用AIDL跨进程调用(远程服务)的服务器端开发,其主要步骤如下:

(1).创建接口描述文件;

(2).建立一个服务类(service的子类)并实现接口;

(3).在Service的绑定方法onBind(Intent)里返回实现了接口的实例对象;

(4).在清单文件中注册AIDL对应的服务。

使用AIDL跨进程调用(远程服务)的客户端开发,其主要步骤如下:

(1).创建与服务器端相同的接口描述文件;

(2).在主Activity中,定义远程服务连接对象,在其内创建远程服务对象;

(3).在主Activity中使用绑定方式调用远程服务,通过远程服务对象调用远程服务里的方法。

(2’)

 

11、请简述SQLite数据库的特点(218)

答:

SQLite数据库适合于嵌入式系统,占用资源少、运行高效、可移植性好、并且提供了零配置的运行模式,是Android手机自带(即内置)的轻量级数据库软件,提供了对数据库的增删改查等操作。

(3’)

SQLite数据库体系结构中最核心的部分是虚拟机,也称虚拟数据库引擎(virtualdatabaseengine,VDBE),用来解释字节代码,以完成对数据库的操作。

(2’)

12、请简述Android移动开发与javaWeb开发的异同。

(P5)

答:

相似之处:

javaWeb开发中的用户界面UI与Android中的用户界面Activity是平行的;(1’)

javaWeb网站开发和Android都有UI设计;(1’)

Android开发是java开发的一个分支,Android类库用了java中的部分常用类库;(1’)

相异之处:

二者的工程文件结构有很大的差异;(1’)

就难易程度来说,Android开发比javaWeb开发要简单容易很多;(1’)

 

13、请简述Android系统架构(参见P14)

答:

Anndroid是基于Linux内核的软件平台和操作系统,采用了软件堆栈架构,共分为四层:

Linux内核层、Anndroid函数库及运行时层、应用程序框架层和应用程序层。

(2’)

Linux内核是硬件和其他软件堆层之间的一个抽象隔离层,提供由操作系统内核管理的底层基础功能,,主要有安全机制、内存管理、进程管理、网络协议栈和驱动程序等。

Anndroid函数库及运行时是第二层,位于Linux内核之上,也称中间件层。

Anndroid运行时由核心库和Dalvik虚拟机构成。

核心库为开发人员提供了Android系统的特有函数功能和java语言的基本函数功能,Dalvik虚拟机采用适合内存和处理器受限的专用格式。

应用程序框架层提供了Android平台的管理功能和组件的重用机制,包括Activity管理、资源管理、位置管理、通知消息管理、View系统和内容提供者等。

Android的三大核心功能如下:

(1).View:

提供了绘制图形,处理触摸、按键事件等功能;

(2).ActivicyManagerService:

简称为AMS,主要功能是管理所有应用程序的Activity、内存管理等,AMS作为一种系统级服务管理所有Activity,当操作(启动或停止)某个Activity时,必须报告给AMS,而不能“擅自处理”,在内存不足时,AMS可能主动杀死后台的Activity;

(3).WindowManagerService:

简称WMS,主要功能是为所有应用程序分配窗口并管这些窗口。

应用程序层提供了一系列核心应用程序,如打电话、浏览器、联系人、相册、地图和电子市场等。

(3’)

 

14、请简述Activity的生命周期(64)

Activity在其生命周期有三种状态:

运行态、暂停态和停止态。

(1’)

运行态是指Activity出现在屏幕的最上层的状态,此时用户通常可以获取焦点;(1’)

暂停态是指Activity调用onPause()方法后出现的状态,其上还有处于运行态的Activity存在,并且Activity没有被完全遮住,即处于暂停态的Activity有一部分视图被用户所见;(1’)

停止态是指当前Activity调用onStop()方法后出现的状态,此时它完全被处于运行态的Activity遮挡住,即用户界面完全不被用户所见。

(1’)

Activity的生命周期

15、请简述服务的显示启动和隐式启动(175)

Service服务的调用分为显式启动和隐式启动。

显式启动是指在创建Intent对象时,指明Service所在的类,并调用方法startService(Intent)启动Service。

(2’)

隐式启动是指在注册Service的同时,内嵌标签标签的android:

name属性指定了引用该服务的名称。

(2’)

隐式启动的好处是不需要指明需要启动哪一个Activity,而由Android系统根据Intent的动作和数据来决定,这样有利于降低Android组件之间的耦合度,强调Android组件的可复用性。

若Service与调用它的组件在同一个应用程序中,则既可以使用显式启动,也可以使用隐式启动(显式启动代码简洁);若服务和调用服务的组件在不同的应用程序中,则服务只能用隐式启动方式。

(1’)

程序(2程序填空2程序设计)

AlertDialogP72绑定服务方式P179广播注册P196SQLiteP223

1.消息提醒对话框AlertDialogP72

 

2.绑定服务方式P179

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

当前位置:首页 > 人文社科 > 法律资料

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

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