Android小项目之--服务【Service】
来源:互联网 发布:c语言小游戏.pdf 编辑:程序博客网 时间:2024/06/05 08:07
Service 简介
何谓“Service”?“Service” 意思即“服务”的意思, 像 Windows 上面的服务一样,有些服务是在后台上运行,干着静悄悄的勾当不让人知道 。与 Activity 不同,Service 是并不直接与用户交互的运行于后台的一类组件。
Google对Service的解释
- 一个服务不是一个单独的进程。服务对象本身并不意味着它是在自己的进程中运行,除非另有规定,否则它与运行程序是同在一个进程中。
- 一个服务不是一个单独的线程。它是一种手段,本身做着主线的工作 (以避免应用程序没有响应的错误)。
Service 与 Activity 的相同点与不同点
- 不同点:Activity是与用户交互的组件,即我们用眼睛可以看到的界面,而Service是在后台运行,执行隐藏的动作。
- 相同点:使用Activity 时我们需要在配置文件中声明<activity>标签,同样的使用Service 也需要在配置文件中声明<service>标签
使用Service
创建Service需要继承自 android.app.Service 的类,然后重新实现在Service各个状态要回调的方法,Service的回调方法有三个,分别是:
- onCreate()
创建 - onStart()
开始 - onDestry()
释放
注意:Service是不能自己启动的,只有通过 Context 对象 调用startService和bindService方法来启动。但两种方法的Service生命周期是不同的,下面我们通过一个小例子来区别各自的生命周期。
例子效果图如下:
代码如下:
当调用startService方法时:
- 1、若Servcie没有启动,则首先会调用该Service的onCreate方法,然后再调用onStart方法。
- 2、若Service己经启动则首先会直接调用onStart方法,
- 3、关闭时使用stopservice来关闭。
- 1、若Service没有启动,则首先调用onCreate方法,来初始化启动Service,然后调用Service的onBind。
- 2、通过onUnbind和onDestry方法停止Service运行。
开始服务
停止服务
绑定服务
销毁服务
音乐服务DEMO通过上面的小例子可能有些园友还是很模糊,下面通过一个播放音乐的小例子加深大家对Service 的理解,该例子通过播放一首mp3 ,当用户点击开始“按钮”,音乐开始播放,即时你退出程序音乐也会播放,点击“停止”按钮,停止播放音乐 。该例子继承service 然后重写onStart播放音乐 重写onDestry停止音乐 ,代码如下:完成了service类,我们只要在对应的Activity的事件中调用服务即可实现,代码如下:
运行效果图:
0 0
- Android小项目之--服务【Service】
- Android四大组件之------Service(本地服务小案例)
- Android服务之Service
- Android服务之Service
- Android服务之Service
- Android之Service服务
- Android服务之Service
- android之service服务
- Android服务之Service
- Android服务之Service
- Android之服务Service
- Android开发之第一个小项目--我的MP3播放器之后台服务Service的实现(四)
- Android项目之广播(BroacastReceiver)与服务(Service)
- Android Service之本地服务
- Android服务之Service(其一)
- Android服务之Service(其一)
- Android服务之Service(一)
- Android服务之Service(其一)
- EXECUTORSERVICE线程池讲解
- 猴子吃桃子【对Java试题库1更正】
- Hadoop数据经Hive汇总计算之后导出到Mysql
- ReactNative开发之DrawerLayoutAndroid组件的使用
- SourceTree的使用方法
- Android小项目之--服务【Service】
- 简析令人头大的定义 void (*(*f[])())()
- CAS+SSO原理浅谈
- First one
- 一台设备上安装多个Mysql服务器
- Picasso 2.5.2 resize 图片不能正常显示。
- 最近很火的OkHttp剥洋葱系列
- 图片生成Gif的golang小工具
- Android 小项目之--使用【AudioManager】类控制音量