苏州大学Android韩冬期末复习

苏州大学Android韩冬期末复习

ID:69436368

大小:295.50 KB

页数:20页

时间:2021-11-04

苏州大学Android韩冬期末复习_第1页
苏州大学Android韩冬期末复习_第2页
苏州大学Android韩冬期末复习_第3页
苏州大学Android韩冬期末复习_第4页
苏州大学Android韩冬期末复习_第5页
苏州大学Android韩冬期末复习_第6页
苏州大学Android韩冬期末复习_第7页
苏州大学Android韩冬期末复习_第8页
苏州大学Android韩冬期末复习_第9页
苏州大学Android韩冬期末复习_第10页
资源描述:

《苏州大学Android韩冬期末复习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.-?Android应用开发?复习题:1.Android的体系构造是怎样的?请简要加以说明。Android的系统架构采用了分层架构的思想。从上层到底层共包括四层:应用层、应用框架层、系统运行库层、Linux核层。2.Android程序构造是怎样的?请简要加以分析。lsrc目录:java源代码lgen目录:BuildConfig.java、R.javalres目录:res目录是资源目录,可以存放应用使用到的各种资源,如XML界面文件、图片、数据等。lassets目录:assets资源目录一般可用于存放html文件、数据库文件、javas

2、cript文件等,还有原始格式的文件.lAndroidManifest.xml:列出了应用程序提供的功能,开发好的各种组件需要在此文件中进展配置,当应用使用到系统置的应用还需在此文件中声明使用权限3.Handler消息传递机制是怎样的?试以“计时器〞的编程举例加以说明。首先需要在主线程当中创立一个Handler对象,并重写handleMessage()方法。然后当子线程中需要进展UI操作时,就创立一个Message对象,并通过Handler将这条消息发送出去。之后这条消息会被添加到MessageQueue的队列中等待被处理,而Loop

3、er那么会一直尝试从MessageQueue中取出待处理消息,最后分发回Handler的handleMessage()方法中。由于Handler是在主线程中创立的,所以此时handleMessage()-.word.zl.-方法中的代码也会在主线程中运行,于是我们在这里就可以安心地进展UI操作了。一条Message经过这样一个流程的辗转调用后,也就从子线程进入到了主线程,从不能更新UI变成了可以更新UI,整个异步消息处理的核心思想也就是如此。1.什么是进程效劳?请编程加以说明。在同一个进程下调用的效劳,〔通常情况下〕即在一个应用程序下

4、的效劳。Service的启动有两种方式:context.startService()和context.bindService()。新建一个MyService继承自Service,并重写父类的onCreate()、onStartCommand()和onDestroy()方法。Service与activity通讯:context.bindService()我们首先创立了一个ServiceConnection的匿名类,在里面重写了onServiceConnected()方法和onServiceDisconnected()方法,这两个方法分别

5、会在Activity与Service建立关联和解除关联的时候调用。bindService()方法接收三个参数,第一个参数就是刚刚构建出的Intent对象,第二个参数是前面创立出的ServiceConnection的实例,第三个参数是一个标志位,这里传入BIND_AUTO_CREATE表示在Activity和Service建立关联后自动创立Service,这会使得MyService中的onCreate()方法得到执行,但onStartCommand()方法不会执行。然后如何我们想解除Activity和Service之间的关联怎么办呢?调

6、用一下unbindService()方法就可以了,这也是UnbindService按钮的点击事件里实现的逻辑。2.什么是跨进程效劳?请编程加以说明。通过一个应用程序〔客户端〕的Activity调用另一个应用程序〔效劳端〕的Service-.word.zl.-为跨进程效劳。由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个效劳进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的存空间,所以要想对话,需要将对象分解成操作系统可以理解的根本单元,并且有序的通过进程边界。Andr

7、oid提供了AIDL工具来处理这项工作。在Android中,如果需要在不同进程间实现通信,就需要用到AIDL技术去完成。AIDL是一种接口定义语言,编译器通过*.aidl文件的描述信息生成符合通信协议的Java代码,无需自己去写这段繁杂的代码,只需要在需要的时候调用即可,通过这种方式我们就可以完成进程间的通信工作。在Android中,每个应用程序都有自己的进程,当需要在不同的进程之间传递对象时,该如何实现呢?显然,Java中是不支持跨进程存共享的。因此要传递对象,需要把对象解析成操作系统能够理解的数据格式,以到达跨界对象访问的目的。我

8、们只是修改了ServiceConnection中的代码。可以看到,这里首先使用了MyAIDLService.Stub.asInterface()方法将传入的IBinder对象传换成了MyAIDLService对象,接下来

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。