为用户服务的Service之基础篇
来源:互联网 发布:歌曲批量下载软件 编辑:程序博客网 时间:2024/05/02 14:40
Service与Activity一样,也有一个从启动到销毁的过程,但Service的这个过程比Activity简单得多,Service从启动到销毁的过程只会经历3个阶段:
(1)创建服务;
(2)开始服务
(3)销毁事物
一个服务实际上是一个继承自android.app.Service类,当服务经历上门3个阶段后,会分别调用Service类中的3个事件方法进行交互,这3个事件方法如下:
public void onCreate(); //创建服务
public void OnStart(Intent intent,int startId); //开始服务
public void onDestory(); //销毁事物
一个服务只会创建一次,销毁一次,但可以开始多次,因此,onCreate和onDestroy方法只会被调用一次,而onStart方法会被调用多次
下面编写一个服务类,具体看一下服务的生命周期由开始到销毁的过程。
import android.app.Service;import android.content.Intent;import android.os.IBinder;public class MyService extends Service {@Overridepublic IBinder onBind(Intent arg0) {// TODO Auto-generated method stubreturn null;}//当服务第一次创建时调用该方法@Overridepublic void onCreate() {// TODO Auto-generated method stubsuper.onCreate();}//当服务销毁时调用该方法@Overridepublic void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();}//当开始服务时调用该方法@Overridepublic void onStart(Intent intent, int startId) {// TODO Auto-generated method stubsuper.onStart(intent, startId);}}
接着,在AndroidManifest.xml文件中进行配置。
<service android:enable="true" android:name=".MyService" />
其中android:enable="true"表示MyServie服务处于激活状态,系统不会自动启动该服务,要想启动这个服务,必须显示调用startService方法,反之,停止则显示的调用stopService方法,代码如下:
public void onClick(View view){ switch(view.getId()) { case R.id.btnStartService: startService(serviceIntent); break; case R.id.btnStopService: stopService(serviceIntent); break; }}
- 为用户服务的Service之基础篇
- CPU是为用户服务的
- 为大量用户服务的服务端网络架构设计
- 现代软件工程系列 学生的精彩文章 (4) 为用户服务
- 现代软件工程系列 学生的精彩文章 (4) 为用户服务
- 现代软件工程系列 学生的精彩文章 (4) 为用户服务
- 互联网、云计算之用户服务
- 为大量用户服务的服务端网络架构设计(负载均衡相关)
- Service---基础总结篇之四:Service完全解析 .
- Android基础篇之Service(一) - Service是什么
- Android基础篇之Service(二) - Service声明周期周期
- Android基础之Service
- Android基础之Service
- Android--Service之基础
- Android--Service之基础
- Android--Service之基础
- android基础之Service
- Android基础之Service
- 《C++第六周实验报告4-1》---设计一个三角形类,能够输入三角形的三个顶点,求出其面积、周长,并判断其是否为直角三角形和等腰三角形。
- Android的按钮按下效果
- 字符串比较函数
- Java编程中“为了性能”尽量要做的几点 - 51CTO.COM
- JQueryUI插件----手风琴效果(10级学员 赵成举课堂笔记)
- 为用户服务的Service之基础篇
- 字段中的一条数据怎么能转换成数据集中的数据?
- 为什么IDEA比Eclipse更好?
- jQuery插件应用之--- 选项卡插件的使用(10级学员 韩晓爽课堂笔记)
- vs2010调试快捷键
- CentOS6.2 配置apache+MySQL+php开发环境
- 第六周实验报告(任务1)
- 学习java多线程的笔记2--Timer类与TimerTask类的使用
- 安装mysql 报错 Error Nr. 1045 解决方法