Android学习笔记 - 服务篇 (Service)
2012-11-20 10:47
363 查看
1.Service是什么
Service是一个应用程序组件
Service没有图形化界面
Service用于处理一些耗时较长的动作
可以使用Service更新ContentProvider,发送Intent以及启动系统的通知等等
2.Service不是什么
Service不是一个单独的进程
Service不是一个线程
3.Service生命周期
Service首次运行时,会执行onCreate方法
再次运行时,由于Service在运行,所以不会执行onCreate,而是直接执行onStartCommand
4.启动和停止Service的方法
1.新建一个类,并继承于Service
[java]
view plaincopy
public class MyService extends Service{
@Override
public IBinder onBind(Intent intent){
}
@Override
public void onCreate(){
System.out.println("Service Start...");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId){
System.out.println("flags:" + flags + "; startId:" + startId);
return START_NOTE_STICKY;
}
@Override
public void onDestory(){
System.out.println("Service Stop...");
}
}
2.在AndroidManifest.xml文件中注册服务
<service android:name=".MyService"></service>
3.编写代码启动、关闭服务
[java]
view plaincopy
public void startService(){
Intent intent = new Intent();
intent.setClass(ServiceActivity.this, MyService.class);
startService(intent);
}
public void stopService(){
Intent intent = new Intent();
intent.setClass(ServiceActivity.this, MyService.class);
stopService(intent);
}
Service是一个应用程序组件
Service没有图形化界面
Service用于处理一些耗时较长的动作
可以使用Service更新ContentProvider,发送Intent以及启动系统的通知等等
2.Service不是什么
Service不是一个单独的进程
Service不是一个线程
3.Service生命周期
Service首次运行时,会执行onCreate方法
再次运行时,由于Service在运行,所以不会执行onCreate,而是直接执行onStartCommand
4.启动和停止Service的方法
1.新建一个类,并继承于Service
[java]
view plaincopy
public class MyService extends Service{
@Override
public IBinder onBind(Intent intent){
}
@Override
public void onCreate(){
System.out.println("Service Start...");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId){
System.out.println("flags:" + flags + "; startId:" + startId);
return START_NOTE_STICKY;
}
@Override
public void onDestory(){
System.out.println("Service Stop...");
}
}
2.在AndroidManifest.xml文件中注册服务
<service android:name=".MyService"></service>
3.编写代码启动、关闭服务
[java]
view plaincopy
public void startService(){
Intent intent = new Intent();
intent.setClass(ServiceActivity.this, MyService.class);
startService(intent);
}
public void stopService(){
Intent intent = new Intent();
intent.setClass(ServiceActivity.this, MyService.class);
stopService(intent);
}
相关文章推荐
- Android学习笔记(五一):服务Service(上)- IntentService
- Android学习笔记(五二):服务Service(中)- 继承Service类
- android学习笔记之十服务(Service)
- Android学习笔记--服务(Service)
- Android学习笔记(五三):服务Service(下)- Remote Service
- android学习笔记之十服务(Service)
- Android学习笔记(五二):服务Service(中)- 继承Service类
- Android学习笔记(五一):服务Service(上)- IntentService
- android学习笔记---40_建立能与访问者进行相互通信的本地服务,后台运行的service
- Android学习笔记(五一):服务Service(上)- IntentService
- Android学习笔记(九)服务(Service)
- Android学习笔记 - 服务篇 (Service)
- Android学习笔记(五一):服务Service(上)- IntentService
- Android学习笔记(五二):服务Service(中)- 继承Service类
- Android学习笔记(五三):服务Service(下)- Remote Service
- (转)Android学习笔记(五一):服务Service(上)- IntentService
- android学习笔记---40_建立能与访问者进行相互通信的本地服务,后台运行的service
- Android学习笔记_22_服务Service应用之—与Activity进行相互通信的本地服务
- android学习笔记——Service服务初探
- Android学习笔记_22_服务Service应用之—与Activity进行相互通信的本地服务