《2022年Android手机开发期末考试简答题[定 .pdf》由会员分享,可在线阅读,更多相关《2022年Android手机开发期末考试简答题[定 .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.简述 Android 平台的特征有哪些。答:开放性、挣脱运行商的束缚、丰富的硬件选择、无缝结合的Google应用2. 简述 Android 平台开发环境搭建的步骤。答:安装 Java JDK,安装 Eclipse ,安装 Android SDK ,搭建 Eclipse 集成开发环境 (IDE)、配置 ADT (Android Development Tools)、创建 AVD (Android Virtual Device)3. 简述 Android 系统架构从高到低的几个层次。答:四个层次,分别是:应用程序层(Applications)、应用程序框架层(Application Frame
2、work)各种库( Libraries)和运行环境(Runtime)、 Linux 内核( Linux kernel)4. 应用程序的基本组件有哪些?答: Activity、 Service 、Content Provider、BroadCast Receiver 5.Android 根据应用程序的组件以及组件当前运行状态将所有的进程按重要性程度从高到低划分为几个?答:可以划分为5个:前台进程、可见进程、服务进程、后台进程、空进程6. 随着 Activity的创建和销毁,可能会经历哪四种状态?答:活动状态:当前的Activity,位于 Activity栈顶,用户可见,并且可以获得焦点暂停状态:
3、失去焦点的Activity,依然可见,即使在内存低的情况下,也不会被系统杀死停止状态:该 Activity被其他 Activity所覆盖,不可见,但是仍然保存所有的状态和信息。当内存低的情况下,它将要被系统杀死销毁状态:该 Activity结束,或 Activity所在的 Dalvik 进程结束7. 使用资源包括哪几种方法?答:在代码里使用资源类;在代码里调用资源类并实例化;从其他资源类里引用8.AndroidManifest.xml主要包含哪些功能?答:说明 application的java 数据包,数据包名是application的唯一标识描述 application的component
4、说明 application的component运行在那个 process 下声明 application的权限,用以访问受保护的API,以及与其他 application进行交互声明 application的其他必备权限,用以与component进行交互列举 application运行时所需要的配置信息,这些声明信息只有在程序开发和测试时存在,在发布前被删除声明 application所需要的 Android API的最低级版本列举 application所需要链接的库9. 应用程序的界面布局主要有哪些?答: 线性布局(LinearLayout) 、 表格布局(TableLayout ) 、
5、 相对布局(RelativeLayout) 、 帧布局(FrameLayout)10.Android 应用程序的菜单有哪几种?答:Android 应用程序的菜单有3种: 选择菜单(Option Menu ) 上下文菜单 (Context Menu ) 子菜单(Sub Menu )11. 在界面上创建一个Spinner (含数据选项)的步骤。答: 1、在布局文件中添加 标记,并为其指定android:entries属性 2、编写用于指定列表项的数组资源文件,并将其保存在res/values目录中,在该文件中添加一个字符串组12. 现行布局中属性orientation的作用是什么?答:用于设置布局
6、管理器内组件的排列方式,其可选的值为horizontal和vertical,默认值为 vertical 13.Android 中实现事件处理的步骤?答:( 1)将事件监听器注册到事件源(2)触发事件源上的事件(3)生成时间对象(4)触发事件监听器,事件被作为参数传入事件处理器(5)调用事件处理器做出响应14. 简述 Android 平台提供了那些数据存储方法。答: Preferences 、 File、SQLite 、ContentProvider,网络名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
7、 - - - 第 1 页,共 3 页 - - - - - - - - - 15. 简述 Android 模拟器中应用程序使用SD 卡的步骤。答:(1)调用Environment 的getExternalStorageState()方法判断手机上是否插入了SD 卡,并且应用程序具有读写 SD 卡的权限 2 )调用 Environment 的getExternalDirectory()方法来获取外部存储器,也就是SD卡的目录( 3)使用 FileOutputStream、 FileInputStream、FileReader 和FileWriter来读写 SD 卡16. 简述创建或打开一个SQLi
8、te 数据库的方法有哪些?答:openDataBase、openOrCreateDataBase 17. 使用 ContentProvider来实现数据共享,都涉及到哪些辅助类。答: onCreate()、insert()、delete()、update() 、query() 、getType() 18. 开发 ContentProvider的步骤答:( 1)开发一个 ContentProvider子类,并实现增、删、改、查等方法(2)在 AndroidManifest.xml里面注册该 ContentProvider 19.startService()和bindService()启动服务的区
9、别:服务不能自己运行,需要通过调用 startService()或bindService()方法启动服务。 这两个方法都可以启动 Service ,但是它们的使用场合有所不同。1. 使用 startService()方法启用服务, 调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用 bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止。2. 采用 startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate() 方法,接着调用 onStart()方法。 如果调用 startService()方法前服务已经被
10、创建,多次调用 startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。 采用 startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。3.bindService()方法启动服务, 在服务未被创建时,系统会先调用服务的onCreate()方法, 接着调用onBind() 方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind() 方法,接着调用 onDestroy()方法。 如果调用 bindService()方法前服务已经被
11、绑定,多次调用 bindService()方法并不会导致多次创建服务及绑定(也就是说 onCreate()和onBind() 方法并不会被多次调用) 。如果调用者希望与正在绑定的服务解除绑定,可以调用 unbindService()方法, 调用该方法也会导致系统调用服务的onUnbind()-onDestroy()方法。20. 请解释下在单线程模型中Message 、Handler 、MessageQueue 、Looper 之间的关系。Handler 简介:一个 Handler 允许你发送和处理Message 和Runable对象,这些对象和一个线程的MessageQueue相关联。 每一个
12、线程实例和一个单独的线程以及该线程的MessageQueue 相关联。 当你创建一个新的Handler时,它就和创建它的线程绑定在一起了。这里,线程我们也可以理解为线程的MessageQueue 。从这一点上来看, Handler 把Message 和Runable对象传递给 MessageQueue ,而且在这些对象离开MessageQueue 时,Handler 负责执行他们。Handler 有两个主要的用途:(1) 确定在将来的某个时间点执行一个或者一些Message 和Runnable对象。(2) 在其他线程 ( 不是 Handler 绑定线程 )中排入一些要执行的动作21. hand
13、ler机制的原理andriod 提供了 Handler 和 Looper 来满足线程间的通信。Handler 先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange) 。1)Looper: 一个线程可以产生一个Looper 对象,由它来管理此线程里的MessageQueue(消息队列 ) 。2)Handler: 你可以构造 Handler 对象来与 Looper沟通,以便 push新消息到 MessageQueue 里;或者接收Looper从Message Queue取出 ) 所送来的消息。3) Message Queue( 消息队列 ): 用来存放线程放入的消息。4)线程: UIthread 通常就是 main thread ,而 Android 启动程序时会替它建立一个MessageQueue 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -