Android---41---Service简介
2015-05-20 10:38
435 查看
Service 是Android四大组件中与Activity最相似的组件。
Service与Activity的区别是:Service一直在后台运行,它没有用户界面。
我们所见的与用户进行交互的界面属于Activity,而Activity要实现的功能就要靠背后默默工作的Service。
比如说,发送短信的功能,让我们输入对方手机号以及要发送的内容,这些就属于Activity,而真正的
去发送短信的还是靠SmsManager。
创建、配置Service:
定义一个继承Service的子类。
在配置文件中配置该Service。
Service中的方法:
这是Service子类必须实现的方法,返回一个IBinder,应用程序通过该对象与Service组件进行通信。
第一次创建将立即回调该方法。
当Service被关闭之前将会回调该方法
每次客户端调用srartService(Intent) 方法启动该Service的时候都会回调该方法。
Service的配置与Activity几乎一样。
运行Service:
运行Service有两种方式:
运行Service有两种方式:
1.通过Contex的startService ()方法:
通过该方法启动Service,访问者与Service之间没有关联,计时访问者退出了,Service仍然运行
2.通过Contex的bindService()方法:
使用该方法启动Service,访问者与Service绑定在了一起,访问者一旦退出,Service也就终止。
Service 是Android四大组件中与Activity最相似的组件。
Service与Activity的区别是:Service一直在后台运行,它没有用户界面。
我们所见的与用户进行交互的界面属于Activity,而Activity要实现的功能就要靠背后默默工作的Service。
比如说,发送短信的功能,让我们输入对方手机号以及要发送的内容,这些就属于Activity,而真正的
去发送短信的还是靠SmsManager。
创建、配置Service:
定义一个继承Service的子类。
在配置文件中配置该Service。
Service中的方法:
@Override public IBinder onBind(Intent intent) { return null; }
这是Service子类必须实现的方法,返回一个IBinder,应用程序通过该对象与Service组件进行通信。
@Override public void onCreate() { super.onCreate(); }
第一次创建将立即回调该方法。
@Override public void onDestroy() { super.onDestroy(); }
当Service被关闭之前将会回调该方法
@Override public int onStartCommand(Intent intent, int flags, int startId) { return super.onStartCommand(intent, flags, startId); }
每次客户端调用srartService(Intent) 方法启动该Service的时候都会回调该方法。
@Override public boolean onUnbind(Intent intent) { return super.onUnbind(intent); }当该Service上绑定的所有客户端都断开连接时 将会回调该方法。
public class MainActivity extends Service { /* * (non-Javadoc) * * @see android.app.Service#onBind(android.content.Intent) * * 必须实现的方法 */ @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } /* * (non-Javadoc) * * @see android.app.Service#onCreate() * * * 被创建的时候回调 */ @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); } /* * (non-Javadoc) * * @see android.app.Service#onDestroy() 被关闭之前回调 */ @Override public void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); } /* * (non-Javadoc) * * @see android.app.Service#onStartCommand(android.content.Intent, int, int) * 被启动的时候回调 */ @Override public int onStartCommand(Intent intent, int flags, int startId) { // TODO Auto-generated method stub return super.onStartCommand(intent, flags, startId); } /* * (non-Javadoc) * * @see android.app.Service#onUnbind(android.content.Intent) 所有客户端都断开连接的时候回调 */ @Override public boolean onUnbind(Intent intent) { // TODO Auto-generated method stub return super.onUnbind(intent); } }
Service的配置与Activity几乎一样。
<service android:name=".MainActivity" > <intent-filter> <action android:name="com.example.servicedemo" /> </intent-filter> </service>
运行Service:
运行Service有两种方式:
运行Service有两种方式:
1.通过Contex的startService ()方法:
通过该方法启动Service,访问者与Service之间没有关联,计时访问者退出了,Service仍然运行
2.通过Contex的bindService()方法:
使用该方法启动Service,访问者与Service绑定在了一起,访问者一旦退出,Service也就终止。
相关文章推荐
- Android ApiDemos示例解析(41):App->Service->Messenger Service
- 关于编译android时出现Error 41的解决方法
- Android培训班(41)
- Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:25:5-27:41 to override.
- Android SharedPreferences详解 分类: Android开发 2014-05-30 10:56 41人阅读 评论(0) 收藏
- Android培训班(41)
- android常用框架 41-74
- 采用 UBIFS 制作 Android 的文件系统 (2011-11-10 20:41)
- 关于编译Android时出现Error 41的解决方法
- Android学习(41) -- 自定义控件(5)图片轮播(伪循环)
- android 打开扬声器zz 分类: Android开发 2014-05-30 10:54 41人阅读 评论(0) 收藏
- Android培训班(41)
- Android开发指南(41) —— Searchable Configuration
- 笔记41 | Android加载器Adapter的几个练习
- VMWARE Workstation 10 安装Ghost 版本WIN7解决办法 分类: Android其他 2015-05-13 19:34 41人阅读 评论(0) 收藏
- 41.Android aapt工具
- 41.Android之图片放大缩小学习
- 直接拿来用!CSDN最火的Android开源项目:41-74(一共74个)
- 41、Android中当数据库需要更新时我们该怎么办?
- Android mmm单独编译模块 错误提示 APPS/Settings_intermediates/classes-full-debug.jar] Error 41