40-Service学习第一发Service的生命周期

来源:互联网 发布:上海二手房成交数据 编辑:程序博客网 时间:2024/04/29 21:10

1.Android中使用Service的目的:后台运行和跨进程访问。

2.Service中的生命周期有三种:创建服务、开始服务、销毁服务

3.Service生命周期对应的三个方法:onCreate()\onStart()\onDestory()

4.服务和Activity一样,也需要在AndroidManifest.xml文件中进行配置:配置的方法是:

在application标签下面加入:

        <service android:enable="true" android:name=".MyService"/>

其中:android:enable="true"表示服务处于激活状态

            android:name=".MyService"表示服务类

方法:启动服务:startService()

            停止服务:stopService()


实例:



MainActivity.java

package com.example.servicetest;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements OnClickListener {private Button button1, button2;private Intent serviceIntent;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = (Button) findViewById(R.id.button1);button2 = (Button) findViewById(R.id.button2);button1.setOnClickListener(this);button2.setOnClickListener(this);serviceIntent = new Intent(this, MyService.class);}public void onClick(View v) {switch (v.getId()) {case R.id.button1:startService(serviceIntent);break;case R.id.button2:stopService(serviceIntent);break;default:break;}}}

MyService.java

package com.example.servicetest;import android.app.Service;import android.content.Intent;import android.os.IBinder;import android.util.Log;public class MyService extends Service {@Overridepublic IBinder onBind(Intent intent) {return null;}//服务第一次创建的时候被调用的方法@Overridepublic void onCreate() {Log.d("MyService", "这个是OnCreate方法...在服务创建的时候被调用....");super.onCreate();}@Overridepublic void onDestroy() {Log.d("MyService", "这个是onDestroy方法...在服务销毁的时候被调用....");super.onDestroy();}@Overridepublic void onStart(Intent intent, int startId) {Log.d("MyService", "这个是onStart方法...在服务开始的时候被调用....");super.onStart(intent, startId);}}
AndroidManifest.xml
<service android:enabled="true" android:name=".MyService" />


0 0