android四大组件之service

Service服务
服务不是activity中展示,他是一种后台执行的组件。

1.service的生命周期
(1).onCreate();
(2).onStart();这个方法已经过时现在一般用
onStartCommand();
(3).onDestory();
一般service的启动之后会执行一遍onCreate之后是onStartCommand最后销毁用onDestory。
但是如果没有关闭的话再一次执行onCreate方法是不会执行会继续执行
onStartCommand
之后代码实现
首先是server类
package com.bawei.myservice;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.provider.Settings;
import android.util.Log;

public class MyService extends Service {
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException(“Not yet implemented”);
}

@Override
//创建时执行
public void onCreate() {
    Log.d("cj","onCreate");
    super.onCreate();
}

@Override
 //开始执行后走的方法 一般在这里实现逻辑
public int onStartCommand(Intent intent, int flags, int startId) {
    Log.d("cj","onStartCommand");
    //我这里是使用service实现的一个通知 使用一个通知类
    NewMessageNotification.notify(this,"52545",0);
    return super.onStartCommand(intent, flags, startId);
}

@Override

//结束时调用
public void onDestroy() {
Log.d(“cj”,”onDestroy”);
super.onDestroy();
}
}

之后启动是在activity类
package com.bawei.myservice;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
private Button btn1,btn2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn1= (Button) findViewById(R.id.btn_start);
    btn2= (Button) findViewById(R.id.btn_stop);

}


public void onClick(View view) {
    switch (view.getId()){
        case R.id.btn_start:
            Intent intent=new Intent(MainActivity.this,MyService.class);
            startService(intent);
            break;
        case R.id.btn_stop:
            Intent intent2=new Intent(MainActivity.this,MyService.class);
            stopService(intent2);
            break;
    }
}

}

你可能感兴趣的:(service)