安卓学习之路之服务的简单的使用
2015-09-23 22:28
573 查看
1.服务(Service) 是Android中实现程序后台运行的.非常适合用于去执行不需要和用户交互并且要长期运行的任务,
服务的运行不依赖于任何用户界面,
值得注意的是,服务不会主动去开启一个线程,如果没有手动开启线程的话,是默认执行在主线程的.
2.如何创建一个服务首先自定义一个类去继承Service 然后重写onBind()方法,在清单文件中声明
具体的代码如下
这里的name就是自己的包名加上类名.
最后就是在MainActivity中使用Intent启动和停止服务:
当启动服务之后,服务会一直在后台运行,直到停止服务,
但是值得注意的是,这里的服务启动以后和MainActivity一毛钱关系都么有了!!
服务的运行不依赖于任何用户界面,
值得注意的是,服务不会主动去开启一个线程,如果没有手动开启线程的话,是默认执行在主线程的.
2.如何创建一个服务首先自定义一个类去继承Service 然后重写onBind()方法,在清单文件中声明
具体的代码如下
public class MyService extends Service { @Nullable @Override public IBinder onBind(Intent intent) { return null; } /** * 当服务第一次创建的时候调用的方法 */ @Override public void onCreate() { super.onCreate(); Log.e("on", "oncreate方法"); } /** * 每次服务启动的时候都会调用的方法 * @param intent * @param flags * @param startId * @return */ @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.e("on", "onStartCommand方法"); return super.onStartCommand(intent, flags, startId); } /** * 当服务被销毁的时候调用的方法 */ @Override public void onDestroy() { super.onDestroy(); Log.e("on", "onDestroy方法"); }在清单代码中声明服务,代码如下:
<application
.....
.....
........
<service android:name=".MyService"/> </application>
这里的name就是自己的包名加上类名.
最后就是在MainActivity中使用Intent启动和停止服务:
public void onclick(View view) { switch (view.getId()) { case R.id.bt_start: Intent startintent = new Intent(this,MyService.class); //启动服务 startService(startintent); break; case R.id.bt_stop: Intent stopintent = new Intent(this,MyService.class); //停止服务 stopService(stopintent); break;
当启动服务之后,服务会一直在后台运行,直到停止服务,
但是值得注意的是,这里的服务启动以后和MainActivity一毛钱关系都么有了!!
相关文章推荐
- ZOJ.1597 Circular Area【两圆相交面积】 2015/09/23
- Synchronized详解
- DP?(数论+组合数学综合题:组合数性质+预处理+组合数取摸)
- 对实体--联系模型比较深入的认识
- 2015年9月23日工作日志-------------赵鑫
- 【J2EE系列】—徒手建立Web应用(HTML+Servlet+Tomcat)
- 开篇感想
- JavaScript 三种创建对象的方法
- CSS属性、BFC、IFC
- uva 1349 - Optimal Bus Route Design(完美匹配)
- HDU 5458 Stability(树链剖分 + 并查集)
- MySql数据库,对varchar类型字段str进行where str=0条件查询时,查询结果是什么
- 关于mysql添加用户和删除用户遇到的一些问题
- iOS 微信支付接入最新的完整流程
- Clarke and minecraft hdoj 5463 (数学题)
- 黑马程序员————Android中LayoutInflater布局解析的使用
- IE 兼容与CSS选择器
- 数据库
- Ubuntu忘记密码解决办法
- 对象的创建、使用及向String对象添加方法(prototype的使用)