ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:23.62KB ,
资源ID:2945841      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2945841.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Android第一行代码 第9章.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Android第一行代码 第9章.docx

1、Android第一行代码 第9章第9章后台默默的劳动者,探究服务1. 在三大智能手机操作系统中,_是不支持后台的,当应用程序不在前台运行时就会进入到挂起状态。_则完全支持后台功能,这使得应用程序即使在关闭的情况下仍然可以在后台继续运行。而_则是经历了一个由不支持到支持后台的过程,目前也具备了后台功能。答:iOSAndroidWindows Phone2. 默认情况下,Android所有应用中的组件不但运行在同一进程中,而且也运行在此进程的同一线程中,这一线程被称为_。答:主线程3. Android主线程负责分发事件给相应的用户界面组件,包括绘制用户界面的事件,在主线程中应用与 Android

2、UI交互,因此,主线程又被称为_线程。答:UI(主线程)4. 在 Android 应用中,只有_线程能够维护和更新 UI组件的状态,因此,用户界面是一种单线程模型。答:UI5. 当Android应用需要执行一些耗时操作时,如果不将这类操作放在子线程里去运行,就会导致_被阻塞,从而影响用户对软件的正常使用。答:主线程6. Android的UI组件不是线程安全的, 在子线程中更新UI会导致_。答:程序崩溃7. Android多线程编程基本模式与Java多线程编程相同,主要有两种基本模式:即定义一个继承自_的线程类和定义一个实现_接口的类。答:ThreadRunnable8. Android 系统异

3、步消息通信机制由以下类组成:_、_、MessageQueue和Looper。答:MessageHandler9. 在Android 系统异步消息通信机制中,_是在线程之间传递的消息,它可以在内部携带少量的信息,用于在不同线程之间交换数据。其中,包括交由Handler对象发送的数据,对象中还有可以使用若干附加字段承载数据,主要两个int型字段和一个Object型字段。答:Message10. 在Android 系统异步消息通信机制中,_主要用于发送和处理消息。发送消息一般使用它的sendMessage()方法,而发出的消息经过一系列地辗转处理后,最终会传递到它的handleMessage()方法

4、中。答:Handler11. 在Android 系统异步消息通信机制中,_是消息队列,用来存放通过 Handler 发布的消息,消息按照先进先出的队列原则等待被处理。答:MessageQueu12. 在Android 系统异步消息通信机制中,_是MessageQueue的管理者,它驱使消息在队列中前进。答:Looper13. 请简述在Handle-Message异步消息通信机制中子线程中进行UI操作的编程逻辑。答:(1)首先,在主线程当中创建一个Handler对象,并重写handleMessage()方法。(2)然后,当子线程中需要进行UI操作时,就创建一个Message对象,并通过Handl

5、er将消息发送出去。(3)之后,这条消息会被添加到MessageQueue的队列中等待被处理,而Looper则会一直尝试从MessageQueue中取出待处理消息,最后分发回Handler的handleMessage()方法中。(4)由于Handler是在主线程中创建的,所以此时handleMessage()方法中的代码也会在主线程中运行,于是就可以地进行UI操作了。14. 请阅读下面程序片断,根据注释在空白划线处填写代码。 / 创建Handler对象,重写其handleMessage()方法,接收Message消息对象 private Handler handler = _ / 重写hand

6、leMessage()方法 public void _ (Message msg) _ / 判断消息中携带的what字段内容 case 当what字段内容与常量UPDATE_TEXT的值相符时 text.setText(Nice to meet you);/ 修改text显示文本 break; default: break; ;答:(1)new Handler()(2)handleMessage(3)switch (msg.what)15. 请阅读下面程序片断,根据注释在空白划线处填写代码。 (1)_ / 开辟新线程,创建Runnable对象 Override public void run(

7、) / 实现run()方法 / 新建Message类的对象message (2)_ ; / 设置对象message的what字段值为常量UPDATE_TEXT (3)_ ; / 调用对象handler的sendMessage()方法发送该消息对象 (4)_ ; ).(5)_;/ 启动线程答:(1)new Thread(new Runnable()(2)Message message = new Message();(3)message.what = UPDATE_TEXT(4)handler.sendMessage(message)(5)start()16. _是 Asynchronous T

8、ask (异步任务)的缩写,“异步任务”是指一项任务运行在一个_线程中,而它的运行结果却由另外一个_线程发布,也就是说,同一个类中包含了运行在不同线程中的方法。答:AsyncTask后台UI17. 请简述AsyncTask在应用中编程逻辑。答:(1)首先,定义继承AsyncTask的子类,在其中通常需要实现以下方法;(2)实现 doInBackground() 回调方法,这是运行在后台线程中的方法。(3)为了更新用户界面 UI, 应该实现 onPostExecute() 方法,这是运行在前台UI 线程中的方法,负责接收doInBackground() 方法的返回结果,以便安全地更新 UI。(4

9、)在 UI 线程中创建 AsyncTask 类对象,调用AsyncTask对象的 execute() 方法启动AsyncTask后台任务执行。18. AsyncTask类最大的特点是同一个类中既有运行于_中的方法,也有运行于_中的方法,将运行在不同线程中的方法组合在同一个类中,借助_或_在方法之间传递数据,实现了线程间的数据传递。答:主线程后台线程方法参数返回值19. doInBackground()方法在AsyncTask类对象启动后,运行于_中,而它的_又作为_传递给onPostExecute()方法,同样,onPostExecute()方法在doBackground()运行结束后立即开始

10、运行于_中,显然doBackground() 和onPostExecute() 在运行时间上存在异步关系。答:后台线程返回值参数UI主线程20. 在doInBackground()方法中调用 _ 方法,可以将后台任务运行过程中产生的一些中间结果作为参数传递给运行在UI线程中 onProgressUpdate() 方法答:publishProgress()21. 但某些情况下,开发者希望变量能适用于多种数据类型,即定义变量的类型为“通用类型”(Generic Type),在实际使用时再指定它的具体类型。这就是_的基本思想。答:泛型22. AsyncTask 类是个泛型(Generics)类,使用

11、了_个泛型(Generic Type)参数。答:323. AsyncTask类的第1个泛型参数规定了执行后台任务的_方法的参数类型。答:doInBackground()24. AsyncTask的后台任务doInBackground( )方法运行过程中,如果有些中间结果需要传递回UI主线程,可以调用_方法,将中间结果作为这个方法的参数传递给运行在主线程中的_方法,这两个方法的数据类型就是中间结果数据类型,由AsyncTask类的第_个泛型参数指定。答:publishProgress()onProgressUpdate()225. AsyncTask的后台任务方法 doInBackground(

12、)返回值将会作为参数传递给运行在主线程中的 _、 _方法,因此,三者的数据类型都是由AsyncTask类的第_个泛型参数指定。答:onCancelled()onPostExecute()326. AsyncTask泛型参数并不是都要用的,当某个类型变量在实际程序中不需要时,定义AsyncTask类时,在相应的泛型参数位置上使用_,它相当于一个占位符。答:Void27. 调用 AsyncTask对象_方法可以取消任务。调用这个方法后,随后调用 isCancelled() 方法将返回 true。调用这个方法,还会引起在 doInBackground() 方法返回后,调用 _而不再调用 onPostExecute() 方法。答:cancel(boolean)onCancelled(Object)28. 为了保证 AsyncTask 类正常工作, AsyncTask类实例必须在_线程中创建。答:UI29. 为了保证 AsyncTask 类正常工作,execute()方法必须在_线程中调用。答:UI 30. AsyncTask任务只能执行一次,如果试图第二次去执行任

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1