android中service名词解释,个人总结一下android中service的基本概念

001.gif1.service的概念:

1.service是运行在后台的一种代码

2.service既不是进程,也不是线程

3.service根据自身的需要,运行自己的进程,也可以运行其它应用的进程

Ø4.Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序。

典型例子:我们手机上面的音乐播放器,退出播放界面后。还可以在后台运行

2.service的生命周期:

1.Oncreate()服务创建时调用。无论调用多少次startSercice()或者bindService()都只会调用一次该方法…

2.onStart()服务开始运行时调用该方法。

3.ondestroy()服务被终止时调用该方法。

4.onBind()该方法在调用者与服务绑定时候调用

5.onUnbind()解除绑定,只有采用Context.bindService()方法启动服务时才会回调该方法。

3.service的生命周期:

1.调用startService后,即使调用此方法的进程结束了,该service仍然存在直到stopservice被调用或者stopself(service自杀式关闭)。

2.当调用bindservice后,service与bindservice的进程就牢牢联系在一起了,也就是说,当调用bindservice的进程挂掉了,那么与之一起的service也就挂掉了。但是期间可以利用unbindservice结束service进程

3.当startservice与bindservice两种方法混合使用时,只有采用Context.bindService()方法启动服务时才会回调该方法。

4.进程的生命周期:

Ø1.Android系统将会尝试保留那些启动了的或者是绑定了服务的进程。

Ø2.如果该服务正在进程的onCreate(), onStart(),或者onDestroy()这些方法中执行时,那么主进程将会成为一个前台进程,以确保此代码不会被停止。

Ø3.如果服务已经开始,那么它的主进程会就重要性而言低于所有可见的进程但高于不可见的进程,由于只有少数几个进程是用户可见的,所以只要不是内存特别低,该服务不会停止。

Ø4.如果有多个客户端绑定了服务,只要客户端中的一个对于用户是可见的,即认为该服务可见。

Ø

Ø

Ø

5.如何使用service:

Ø1.第一种是通过调用Context.startService()启动,调用Context.stopService()结束,startService()可以传递参数给Service。

Ø2.种第二方式是通过调用Context.bindService()启动,调用Context.unbindservice()结束,还可以通过ServiceConnection访问Service。二者可以混合使用,比如可以先startService再bindservice。

Ø

6.Service的开发步骤:

7.启动service的两种方法:

1.startService()

代码如下:

public class HelloActivity extends Activity {

public void onCreate(Bundle savedInstanceState) {

......

Button button =(Button) this.findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener(){

public void onClick(View v) {

Intent intent = new Intent(HelloActivity.this, SMSService.class);

startService(intent);

}});

}

}

2.bindservice()

代码如下:

public class HelloActivity extends Activity {

ServiceConnection conn = new ServiceConnection() {

public void onServiceConnected(ComponentName name, IBinder service) {

}

public void onServiceDisconnected(ComponentName name) {

}

};

public void onCreate(Bundle savedInstanceState) {

Button button =(Button) this.findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener(){

public void onClick(View v) {

Intent intent = new Intent(HelloActivity.this, SMSService.class);

bindService(intent, conn, Context.BIND_AUTO_CREATE);

//unbindService(conn);//解除绑定

}});}}

8.service服务的运用主要分为以下几个步骤:

1.新建一个Android工程ServiceDemo

2.修改main.xml代码,增加二个按钮

3.新建一个Service,命名为MyService.java

4.新建ServiceDemo.java

5.配置AndroidManifest.xml

6.执行上述工程,用Logcat查看日志

7.按HOME键进入Settings(设置)àApplications(应用)àRunning Services(正在运行的服务)

9.android中的notification:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值