您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 儿科学 > 安卓移动开发简答题+程序
安卓简答+程序题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’)如文本框控件值的引用要通过引用字符串的变量的方法来实现(如TextView...android:text=”@string/hello_world”/)这是符合国际化的做法,如果不通过引用字符串的变量的方法,而直接用字符串常量代替(如TextView...android:text=”字符串常量”/)则不符合国际化做法,会导致“I18n警告性错误——黄色的感叹号。(2’)5、请简述Activity组件与视图View(46、60)答:Activity是安卓最重要的组件,负责用户界面的设计,Activity用户界面框架采用MVC模式(modelviewcontroller)。(1’)控制器负责接受并响应程序的外部动作;通过视图来反馈应用程序给用户的信息(通常是屏幕信息反馈);模型是应用程序的核心,用于保存数据和代码。(1’)Android组件在清单文件中使用activity注册。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注册。Service组件通过Intent对象激活。Service有利于降低系统资源的开销,而且比Activity有更高的优先级。Service服务的调用分为显式启动和隐式启动。显式启动是指在创建Intent对象时,指明Service所在的类,并调用方法startService(Intent)启动Service。隐式启动是指在注册Service的同时,内嵌标签Intent-filter及action,action标签的android:name属性指定了引用该服务的名称。隐式启动的好处是不需要指明需要启动哪一个Activity,而由Android系统根据Intent的动作和数据来决定,这样有利于降低Android组件之间的耦合度,强调Android组件的可复用性。若Service与调用它的组件在同一个应用程序中,则既可以使用显式启动,也可以使用隐式启动(显式启动代码简洁);若服务和调用服务的组件在不同的应用程序中,则服务只能用隐式启动方式。Service有startService()的非绑定启动方式和bindService()的绑定启动方式两种。Service的两种启动方式:一、采用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应用中,广播接收者类使用标签receiver在清单文件中注册,为静态注册方式,只能具有相应权限的广播接收者才能接收广播、获取Intent对象中的数据。动态注册是在程序中通过使用Context类提供的方法registerReceiver()完成的。(2’)创建广播接收者的方法有两种,一是标准的类继承方法,二是通过向导创建广播接收者。(1’)BroadcastReceiver组件通过Intent对象激活。一个BroadcastReceiver的生命周期从调用onReceiver(Context,Intent)方法开始,到该方法返回结束。(1’)8、请简述ContentProvider组件(46、251)答:ContentProvider(内容提供者)是Android系统中不同应用程序之间共享数据的接口,用于保存和检索数据。使用ContentProvider访问某个应用程序的数据,不必关心其数据的存储方式,其他应用程序可以通过一个ContentProvider类型的对象来操作某个程序的数据。(2’)Android应用开发者将自己的持久化数据公开给其他应用程序有两种方法:一是定义自己的ContentProvider子类,在清单文件里使用provider标签注册,并实现CRUD(增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete));二是将当前应用程序的数据添加到已有的ContentProvider中。(2’)组件ContentProvider的四个CRUD方法的第一方法参数均为Uri类型。创建ContentProvider子类时,provider标签中name为必填属性,表示ContentProvider子类的名
本文标题:安卓移动开发简答题+程序
链接地址:https://www.777doc.com/doc-6814619 .html