简答题1.简述Android平台的特征有哪些。答:开放性、挣脱运行商的束缚、丰富的硬件选择、无缝结合的Google应用2.简述Android平台开发环境搭建的步骤。答:安装JavaJDK,安装Eclipse,安装AndroidSDK,搭建Eclipse集成开发环境(IDE)、配置ADT(AndroidDevelopmentTools)、创建AVD(AndroidVirtualDevice)3.简述Android系统架构从高到低的几个层次。答:四个层次,分别是:应用程序层(Applications)、应用程序框架层(ApplicationFramework)、各种库(Libraries)和运行环境(Runtime)、Linux内核(Linuxkernel)4.应用程序的基本组件有哪些?答:Activity、Service、ContentProvider、BroadCastReceiver5.Android根据应用程序的组件以及组件当前运行状态将所有的进程按重要性程度从高到低划分为几个?答:可以划分为5个:前台进程、可见进程、服务进程、后台进程、空进程6.随着Activity的创建和销毁,可能会经历哪四种状态?答:活动状态:当前的Activity,位于Activity栈顶,用户可见,并且可以获得焦点暂停状态:失去焦点的Activity,依然可见,即使在内存低的情况下,也不会被系统杀死停止状态:该Activity被其他Activity所覆盖,不可见,但是仍然保存所有的状态和信息。当内存低的情况下,它将要被系统杀死销毁状态:该Activity结束,或Activity所在的Dalvik进程结束7.使用资源包括哪几种方法?答:在代码里使用资源类;在代码里调用资源类并实例化;从其他资源类里引用8.AndroidManifest.xml主要包含哪些功能?答:说明application的java数据包,数据包名是application的唯一标识描述application的component说明application的component运行在那个process下声明application的权限,用以访问受保护的API,以及与其他application进行交互声明application的其他必备权限,用以与component进行交互列举application运行时所需要的配置信息,这些声明信息只有在程序开发和测试时存在,在发布前被删除声明application所需要的AndroidAPI的最低级版本列举application所需要链接的库9.应用程序的界面布局主要有哪些?答:线性布局(LinearLayout)、表格布局(TableLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)10.Android应用程序的菜单有哪几种?答:Android应用程序的菜单有3种:选择菜单(OptionMenu)、上下文菜单(ContextMenu)、子菜单(SubMenu)11.在界面上创建一个Spinner(含数据选项)的步骤。答:1、在布局文件中添加spinner标记,并为其指定android:entries属性2、编写用于指定列表项的数组资源文件,并将其保存在res/values目录中,在该文件中添加一个字符串组12.现行布局中属性orientation的作用是什么?答:用于设置布局管理器内组件的排列方式,其可选的值为horizontal和vertical,默认值为vertical13.Android中实现事件处理的步骤?答:(1)将事件监听器注册到事件源(2)触发事件源上的事件(3)生成时间对象(4)触发事件监听器,事件被作为参数传入事件处理器(5)调用事件处理器做出响应14.简述Android平台提供了那些数据存储方法。答:Preferences、File、SQLite、ContentProvider,网络15.简述Android模拟器中应用程序使用SD卡的步骤。答:(1)调用Environment的getExternalStorageState()方法判断手机上是否插入了SD卡,并且应用程序具有读写SD卡的权限(2)调用Environment的getExternalDirectory()方法来获取外部存储器,也就是SD卡的目录(3)使用FileOutputStream、FileInputStream、FileReader和FileWriter来读写SD卡16.简述创建或打开一个SQLite数据库的方法有哪些?答:openDataBase、openOrCreateDataBase17.使用ContentProvider来实现数据共享,都涉及到哪些辅助类。答:onCreate()、insert()、delete()、update()、query()、getType()18.开发ContentProvider的步骤答:(1)开发一个ContentProvider子类,并实现增、删、改、查等方法(2)在AndroidManifest.xml里面注册该ContentProvider19.startService()和bindService()启动服务的区别:服务不能自己运行,需要通过调用startService()或bindService()方法启动服务。这两个方法都可以启动Service,但是它们的使用场合有所不同。1.使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止。2.采用startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。3.bindService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onBind()方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind()方法,接着调用onDestroy()方法。如果调用bindService()方法前服务已经被绑定,多次调用bindService()方法并不会导致多次创建服务及绑定(也就是说onCreate()和onBind()方法并不会被多次调用)。如果调用者希望与正在绑定的服务解除绑定,可以调用unbindService()方法,调用该方法也会导致系统调用服务的onUnbind()--onDestroy()方法。20.请解释下在单线程模型中Message、Handler、MessageQueue、Looper之间的关系。Handler简介:一个Handler允许你发送和处理Message和Runable对象,这些对象和一个线程的MessageQueue相关联。每一个线程实例和一个单独的线程以及该线程的MessageQueue相关联。当你创建一个新的Handler时,它就和创建它的线程绑定在一起了。这里,线程我们也可以理解为线程的MessageQueue。从这一点上来看,Handler把Message和Runable对象传递给MessageQueue,而且在这些对象离开MessageQueue时,Handler负责执行他们。Handler有两个主要的用途:(1)确定在将来的某个时间点执行一个或者一些Message和Runnable对象。(2)在其他线程(不是Handler绑定线程)中排入一些要执行的动作21.handler机制的原理andriod提供了Handler和Looper来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper:一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。2)Handler:你可以构造Handler对象来与Looper沟通,以便push新消息到MessageQueue里;或者接收Looper从MessageQueue取出)所送来的消息。3)MessageQueue(消息队列):用来存放线程放入的消息。4)线程:UIthread通常就是mainthread,而Android启动程序时会替它建立一个MessageQueue。一、选择题1android虚拟设备的缩写是(AVD)2AndroidSDK目前支持的操作系统(DOS)3Android开发工具插件(ADT)没有提供的开发功能(自动更新)4AndroidSDK提供一些开发工具可以把应用软件打包成Android格式文件(APK)5Android当中基本的所有的UI都是由(view)或者其子类实现的6以下不是Android中调试项目的正确步骤(测试用例)7下列不是Activity的生命周期方法之一的是(OnResume)8以下可以做EditText编辑框的提示信息是(adroid:hint)9以下不是Activity启动的方法是(gotoActivity)10以下不是手机操作系统的是(windowsvista)二、填空题1Android平台由操作系统,中间件,用户界面和应用软件组成的。2Android平台提供了2D,3D的图形支持,数据库支持SQLite,并且集成了浏览器3目前已知的可以用来搭建Android开发环境的系统有windows,Linux,Mac等4开发中推荐使用的IDE开发组合为IDE,eclipse,ADI来开发5AndroidSDK主要以java语言为基础6创建工程时需要填写的信息名称有工程名,包的名字,Activity的名字还有应用的名字7Android.jar是一个标准的压缩包,其内容包含的是编译后的class,包含了全部的API三、简答题1AndroidSDK中API的包结构的划分?至少五个android.util,android.os,android.content,android.view,android.graphics,android.text2Android软件框架结构自上而下可分为哪些层?应用程序(Application)、应用程序框架(ApplicationFramework)、各种库(Libraries)和Android运行环境(RunTime)、操作系统层(OS)3Android应用程序的4大组件是什么?Activity、BroadcastIntentReceiver、Service、ContentProvider4Android应用工程文件结构有哪些?源文件(包含Activity),R.java文件,AndroidLibrary,assets目录res目录,drawble目录,layout目录,values目录,AndroidManifest.xml5Android开发应用程序最有可能使用到的应用框架部分是哪些?一组View(UI)组件,ContentProviders,ResourceManger,NotificationManger,ActiviyManger6Android底层库包含哪些?系统C库,媒体库,SurfaceManager,LibWebCore,SGL四、编程1实现点击一个按钮,结束当前Activity并将需要返回的数据放置并关闭当前窗体请编写核心代码Bundlebundle=newBundle();varscript=document.createElement('script');script.src='