安卓简答+程序题
1、请简述Android ADT (参见23)
答:ADT,是Android Development ToolKit 的缩写,表示开发工具包,是Eclipse的一个插件,用于快速创建Android工程、用户界面和基于Android API 的组件。(3’)
ADT可以在Eclipse中输入其下载地址进行安装。在Eclipse中单独安装ADT插件的方法是使用菜单“Help→Install New Software”。(1’或2’)
在Eclipse的首选项中,只有安装了ADT,才会出现做Android应用开发的选项“Android”。(0’或1’)
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应用的编译工具;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提供的重要工具之一,用于在没有物理设备的情况下,在计算机上对Android程序进行开发、调试和仿真。(3’)
AVD可以通过Eclipse菜单中Windows→Android AVD Manager→new创建,通过Android AVD Manager→start启动。(1’)
在Android应用工程名的的快捷菜单中,选择“Run As→Android Application”可将工程部署到AVD并运行。(1’)
4、请简述“I18n"警告性错误(35)安卓软件签名工具
答:I18n是国际化(Internationalization)的简称,国际化是指在设计软件时,将软件与特定语言及地区脱钩的过程。(2’)
“I18n"警告性错误在程序的写法不符合国际化做法的时候发生。(1’)
如文本框控件值的引用要通过引用字符串的变量的方法来实现(如&android:text=”@string/hello_world”/>)这是符合国际化的做法,如果不通过引用字符串的变量的方法,而直接用字符串常量代替(如&android:text=”字符串常量”/>)则不符合国际化做法,会导致“I18n"警告性错误——黄的感叹号。(2’)
5、请简述Activity 组件与视图View (46、60)
答:Activity是安卓最重要的组件,负责用户界面的设计,Activity用户界面框架采用MVC模式(model view controller)。(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的两种启动方式:
1、采用start开启服务
使用Service的步骤:
(1).定义一个类继承Service
(2).在l文件中配置该Service
(3).使用Context的startService(Intent)方法启动该Service
(4).不再使用时,调用stopService(Intent)方法停止该服务
使用这种start方式启动的Service的生命周期如下:
onCreate()--->onStartCommand()(onStart()方法已过时)---> onDestory()
说明:如果服务已经开启,不会重复的执行onCreate(), 而是会调用onStart()和onStartCommand()。服务停止的时候调用 onDestory()。服务只会被停止一次。
特点:一旦服务开启跟调用者(开启者)就没有任何关系了。
开启者退出了,开启者挂了,服务还在后台长期的运行。
开启者不能调用服务里面的方法。
二、采用bind的方式开启服务
使用Service的步骤:
(1).定义一个类继承Service
(2).在l文件中配置该Service
(3).使用Context的bindService(Intent, ServiceConnection, int)方法启动该Service
(4).不再使用时,调用unbindService(ServiceConnection)方法停止该服务
使用这种bind方式启动的Service的生命周期如下:
onCreate() --->onBind()--->onunbind()--->onDestory()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论