Android基础系统组件(中级).pdf
《Android基础系统组件(中级).pdf》由会员分享,可在线阅读,更多相关《Android基础系统组件(中级).pdf(27页珍藏版)》请在三一文库上搜索。
1、AndroidAndroid基础系统组件基础系统组件 Android平台手机应用开发技术培训 中级.第7讲 学习目标: 目标学员: 课程时长:45分钟 有Android开发基础的开发者或在校 计算机相关专业大学生 学习Android基本系统组件的使用方法。 掌握Acitivity,Service, BroadcastReceiver的高级使用技巧。 AndroidAndroid应用组件介绍应用组件介绍 Activity详解 Service的使用 BroadcastReceiver的使用 课程目录课程目录 应用组件介绍 Android应用程序没有单独的程序入口(例如:main()函数) Andr
2、oid拥有以下四种组件,以便系统能实例化并运行该应用 Activity,活动组件 Service,服务组件 BroadcastReceiver,广播接收组件 ContentProvider,内容提供组件 Android系统组件介绍 ActivityActivity详解详解 Service的使用 BroadcastReceiver的使用 课程目录课程目录 Activity的生命周期和状态 Activity拥有以下四种状态: Active,活动状态 Paused,暂停状态 Stopped,停止状态 Inactive,休眠状态 Activity的生命周期中有三个关 键的状态环: onCreate和o
3、nDestroy onStart和onStop onResume和onPause Activity堆栈的管理 所有正在运行的Activity在系统里由Activity堆栈所管理 Android会根据需要关闭堆栈底部的Activity,以保障充足的系统资源 所有正在运行的Actvity将遵循照后进先出的原则 当一个新的Activity启动,当前的Activity将移至堆栈的顶部 如果用户使用Back按钮,或在前台Activity被关闭,堆栈中的下一个 Activity将被激活并且移至到堆栈的顶部。 Activity与Task Android的Task是一组彼此联系的Activity的堆栈 Tas
4、k中的Activity可以分属于不同的应用 例如有的软件调用了Google map显示地图,这就是用到了其它应用的Activity Task所包含的所有Activity在系统中会被作为一个整体处理 比如:Task A被设置成foreground/background task的时候,整个task(activity stack)都会随之移动 Task和Affinity(亲和力) 默认情况下,同一应用中的activity相互之间有一种“亲和力” Affinity的示范 实现一个由多个Activity组成的应用 component 实现第二个应用component2,并且用 它调用component
5、中的组件 在使用 FLAG_ACTIVITY_NEW_TASK的情况 下,系统将自动产生一个新任务 component Android系统组件介绍 Activity详解 ServiceService的使用的使用 BroadcastReceiver的使用 课程目录课程目录 Service概述 服务是运行在后台的一段代码 它可以运行在它自己的进程,也可以运行在其他应用程序进程的上下 文(context)里面,这取决于自身的需要 其它的组件可以绑定到一个服 务(Service)上面,通过远程过程调 用(RPC)来调用这个方法 例如媒体播放器的服务, 当用户退出媒体选择用户界面,她仍然希 望音乐依然可
6、以继续播放,这时就是由服务 (service)来保证当用 户界面关闭时音乐继续播放的 Service的生命周期和使用方式 服务的完整生命周期始于 onCreate()终于onDestroy() 服务的活跃生命周期始于 onStart()但不存在onStop方法 服务有两种使用方式:它可以 启动并运行,直至有人停止了 它或它自己停止 也可以通过自定义接口进行操 作。客户端建立一个到服务的 连接,并通过连接来调用服务 RPC与远程调用Service 如果期望在不同进程(应用) 运行一个Service的时候,就需 要利用Android提供的RPC机制, 为其部署一套进程间通信的策 略 首先需要创建A
7、IDL接口 然后再Java文件中,实现该接 口需要在名为Stub的内部类中 完成接口的实现) 使用服务连接的模式来调用服 务。 Service示范 首先为之前的components项目创建一个TestService,并且实现onCreate, onStart,onDestroy,onBind,onRebind,onUnbind等方法 其它方法与onCreate方法类似,我们只是用Toast做示范 别忘了在AndroidManifest.xml中注册服务。 public void onCreate() super.onCreate(); Toast.makeText(TestService.th
8、is, getClass().getName() + “.onCreate()“, Toast.LENGTH_LONG).show(); “ Service示范 在MainActivity的布局中增加4个Button,并且为其添加startService, stopService, bindService, unbindService等四个事件 其中,bind的方式,需要使用到ServiceConnection(这里没有做任何操作) startService(intent); stopService(intent); bindService(intent, connection, BIND_A
9、UTO_CREATE); unbindService(connection); private ServiceConnection connection = new ServiceConnection() public void onServiceConnected(ComponentName arg0, IBinder arg1) public void onServiceDisconnected(ComponentName arg0) ; 远程调用Service示范 在之前Service示范的基础上,增加 ITestService.aidl接口 在TestService中实现该接口(ADT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 基础 系统 组件 中级
链接地址:https://www.31doc.com/p-3329611.html