Android 四大组件之一service

package com.kawa;

import com.kawa.MyService.Mybind;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/*
* 测试service 生命周期
* @author 蒋胜辉
*/
public class MainActivity extends Activity {
private Button btn_start;
private Button btn_end;
private Button btn_bind;
private Button btn_unbind;
private MyService myService;
private MyServiceConnection sConnection=new MyServiceConnection() ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initialView();
BindClick();
}
/*初始化控件*/
public void initialView(){
btn_start=(Button) findViewById(R.id.button1);
btn_end=(Button) findViewById(R.id.button2);
btn_bind=(Button) findViewById(R.id.button3);
btn_unbind=(Button) findViewById(R.id.button4);
}
/*事件绑定*/
public void BindClick(){
btn_start.setOnClickListener(new MyStartOnClickListener());
btn_end.setOnClickListener(new MyEndOnClickListener());
btn_bind.setOnClickListener(new MyBindOnClickListener());
btn_unbind.setOnClickListener(new MyUnbindOnClickListener());
}
class MyStartOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
//创建Intent 对象
Intent intent=new Intent("kawa.service");
MainActivity.this.startService(intent);
}

}
class MyEndOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
//创建Intent 对象
Intent intent=new Intent("kawa.service");
MainActivity.this.stopService(intent);
}

}
class MyBindOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
//创建Intent 对象
Intent intent=new Intent("kawa.service");
MainActivity.this.bindService(intent, sConnection,Context.BIND_AUTO_CREATE);
}

}
class MyUnbindOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
Intent intent=new Intent("kawa.service");
MainActivity.this.unbindService(sConnection);

}
}
/*
* service 连接类,通过它找到bindService 然后在找到 service
*/
class MyServiceConnection implements ServiceConnection{
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
myService=((MyService.Mybind)service).getMyService();
myService.add();
}
@Override
public void onServiceDisconnected(ComponentName name) {

}

}

}

//service 类
package com.kawa;

import java.io.FileDescriptor;
import java.io.PrintWriter;

import android.app.Service;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Binder;
import android.os.IBinder;

public class MyService extends Service{
private Mybind mybind=new Mybind();
@Override
public IBinder onBind(Intent intent) {
System.out.println("service onBind");
return mybind;
}
class Mybind extends Binder implements IBinder{
public MyService getMyService(){
return MyService.this;
}
}
@Override
protected void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
super.dump(fd, writer, args);
System.out.println("service dump");
}

@Override
protected void finalize() throws Throwable {
super.finalize();
System.out.println("service finalize");
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
System.out.println("service onConfigurationChanged");
}

@Override
public void onCreate() {
super.onCreate();
System.out.println("service onCreate");
}

@Override
public void onDestroy() {
super.onDestroy();
System.out.println("service onDestory");
}

@Override
public void onLowMemory() {
super.onLowMemory();
}

@Override
public void onRebind(Intent intent) {
super.onRebind(intent);
System.out.println("service onRebind");
}

@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
System.out.println("service onStart");
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
System.out.println("service onStartCommand");
return super.onStartCommand(intent, flags, startId);

}

@Override
public boolean onUnbind(Intent intent) {
System.out.println("hello onUnbind");
return super.onUnbind(intent);
}
public void add(){
System.out.println("hello world");
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值