博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Service简介(系列1)
阅读量:6971 次
发布时间:2019-06-27

本文共 1587 字,大约阅读时间需要 5 分钟。



Android Service简介(系列1)

Android Service是Android重要的组件,在开发中会有用到和涉及。本文先给出一个最简单的Android Service例子。

(第1步)写一个类继承自Service,假设这个类的名字叫做MyAppService.java,重点是完成两个方法:
Service的onCreate和onStartCommand方法。
onCreate仅仅在Service第一次被startService时候初始化操作一次,随后不管再怎么startService,都不会再onCreate了。
耗时的、后台的、不需要用户交互的操作放在onStartCommand里面处理。需要强调一点,Android的Service并不是一个单独的进程、线程空间,是和Android主线程共享进程空间,这就意味,不要在onStartCommand方法里面阻塞主线程,否则将造成ANR!如果在onStartCommand里面有耗时操作,那么务必将onStartCommand里面的耗时操作代码块放到线程里面做。(注意!次说仅仅针对Service,IntentService和Service机制不同,不存在此问题,但有其自身特点,后面文章再说。)
Service的onDestroy只会被调用一次,那就是Service被stopService或者stopSelf时候。

完整的MyAppService.java代码:

package zhangphil.service;import android.app.Service;import android.content.Intent;import android.os.IBinder;import android.util.Log;public class MyAppService extends Service {	// 仅仅create一次	@Override	public void onCreate() {		Log.d(this.getClass().getName(), "onCreate");	}	// 在这里处理耗时、后台、无需用户交互的‘重口味’操作。	@Override	public int onStartCommand(Intent intent, int flags, int startId) {		Log.d(this.getClass().getName(), "hello,service!");		return super.onStartCommand(intent, flags, startId);	}	@Override	public IBinder onBind(Intent intent) {		return null;	}	@Override	public void onDestroy() {		Log.d(this.getClass().getName(), "onDestroy");	}}

(第2步)在AndroidManifest.xml定义第1步写的Service,在本例中是MyAppService,如代码:

...

(第3步)接下来就可以在自己的activity中通过startService和stopService启动、停止Service了,如代码所示:

Intent intent=new Intent(activity,MyAppService.class);activity.startService(intent);...Intent intent=new Intent(activity,MyAppService.class);activity.stopService(intent);

转载地址:http://fnosl.baihongyu.com/

你可能感兴趣的文章
Simple Python Dictionary :)
查看>>
c语言程序设计第六次作业--循环结构(二)
查看>>
【转】WebView的JavaScript与本地代码三种交互方式
查看>>
xml转换为对象 微信接口
查看>>
软件产品案例分析
查看>>
HTML表单
查看>>
四元数
查看>>
bzoj2125: 最短路
查看>>
P4781 【模板】拉格朗日插值
查看>>
jzoj5984. 【北大2019冬令营模拟2019.1.1】仙人掌 (分块)
查看>>
python jenkins api
查看>>
电梯调度算法的实现
查看>>
IIPC--share memory
查看>>
前端之html5和css3
查看>>
View绘制机制
查看>>
跟KingDZ学HTML5之四 继续探究Canvas之路径
查看>>
054_VisualForce Ajax 01
查看>>
Android性能优化问题总结
查看>>
html5中 背景自适应
查看>>
比赛--整理花园问题--解题报告
查看>>