淘豆网
下载此文档放大查看缩小查看   1/55
下载文档 文档分类:高等教育 > 大学课件

Android应用开发教程 教学课件 ppt 作者 罗文 第六章教学课件.ppt

下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表
下载前请先预览,预览内容跟原文是一样的,在线预览图片经过高度压缩,下载原文更清晰。
0/100
您的浏览器不支持进度条


播放器加载中,请稍候...
更多>>该用户其他文档
下载所得到的文件列表
Android应用开发教程 教学课件 ppt 作者 罗文 第六章教学课件.ppt
文档介绍:
第6章Service应用
《Android应用开发教程》
黑龙江
吉林
山东
西藏
新疆
浙江
台湾
课堂引入
问题:第5章提到在实际应用中,一个应用程序往往包含多个Activity,比如Android手机中的音乐播放器,有歌曲列表、艺术家列表、歌词显示等不同的界面,其中每一个界面都对应一个Activity,同时,当“退出”音乐播放器时,后台依然在播放音乐,这是通过Service实现的。Service是在后台运行的、没有界面的程序片段,Service还有哪些用途?是如何提供服务的?
掌握Service的概念和用途
掌握创建Started Service的方法
掌握创建Bound Service的方法
掌握Service的生命周期管理
学习内容
Service概述
1
创建和使用本地服务
2
远程Service调用
3
本章小结
4
6.1 Service服务
70代
现在
6.1.1 项目描述
本节完成一个简易音乐播放器,这个播放器提供“开始”和“结束”按钮,使用后台Service实现音乐的播放。在点击“开始”按钮后,播放开始,点击“结束”后,播放结束,并且在音乐播放时,即便退出了程序,播放还在继续,即实现后台播放效果。
图6-1 简易后台音乐播放器
Service服务有两种类型:
本地服务(Local Service)或者启动服务(Start Service):用于应用程序内部,应用程序组件(例如Activity)通过调用startService()方法启动服务。一旦启动,服务能在后台长期运行,即是启动它的组件已经销毁。通常,启动服务执行单个操作并且不会向调用者返回结果。
远程服务(Remote Sercie)或者绑定服务(Bind Service):用于android系统内部的应用程序之间,应用程序组件通过调用bindService()方法绑定服务。此种类型提供客户端-服务器接口以允许组件与服务交互、发送请求、获得结果甚至使用进程间通信(IPC)跨进程完成操作。仅当其它应用程序组件与之绑定时,绑定服务才运行。多个组件可以一次绑定到一个服务上,但是当它们都解除绑定时,服务被销毁。
6.1.2 项目知识准备——1.Service概述
Service服务可以同时属于两种类型,其重点在于是否实现一些回调方法:mand()允许组件启动服务,onBind()方法允许组件绑定服务。不管应用程序是那种,都能通过Intent使用服务。开发人员可以在配置文件中将服务声明为私有,从而阻止其它应用程序访问。
6.1.2 项目知识准备——1.Service概述
6.1.2 项目知识准备——1.Service概述
创建一个Service很简单,只需创建一个继承自(IntentService、Service)的类,实现其生命周期中的几个方法如表6-1所示。
方法名称
说明
onBind(Intent intent)
当其它组件调用bindService时,系统调用此方法,是一个必须实现的一个方法,返回一个绑定的接口IBinder给Service
onCreate()
当Service第一次被创建时,由系统调用
mand(Intent intent,int startID)
当通过startService()方法启动Service时,该方法被调用。如果实现了此方法,则当任务完成时需调用stopSelf()或stopService()方法停止服务。
onDestroy()
当Service不再使用,系统调用该方法
unbindService()
解除绑定服务
onUnbind()
当绑定服务解除时,系统调用此方法
6.1.2 项目知识准备——1.Service概述
启动服务:
值得说明的是服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务。这两个方法都可以启动Service,但是它们的使用场合有所不同。使用startService()方法启动服务(本地服务),调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启动服务(远程服务),调用者与服务绑定在了一起,调用者一旦退出,服务也就终止。
启动服务:
采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,mand()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,mand()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。
6.1.2 项目知识准备——1.Service概述
6.1.2 项目知识准备——1.Service概述
启动服务:
采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,mand()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,mand()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。
1
内容来自淘豆网www.taodocs.com转载请标明出处.
更多>>相关文档
文档信息
最新下载
文档标签