service bindService, unbindService用法和实例

service    ServiceSample.java

package com.terry;

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

public class ServiceSample extends Service {

 final String TAG="Service";
 
 @Override
 public IBinder onBind(Intent intent) {
  // TODO Auto-generated method stub
  
  
  
  return null;
 }
 
 @Override
 public boolean onUnbind(Intent intent) {
  // TODO Auto-generated method stub
  
  
  return super.onUnbind(intent);
 }

 @Override
 public void onRebind(Intent intent) {
  // TODO Auto-generated method stub
  super.onRebind(intent);
  
 }
 @Override
 public void onCreate() {
  // TODO Auto-generated method stub
  super.onCreate();
  
 }
 @Override
 public void onDestroy() {
  // TODO Auto-generated method stub
  super.onDestroy();
  
  
 }
 
 @Override
 public void onStart(Intent intent, int startId) {
  // TODO Auto-generated method stub
  super.onStart(intent, startId);
  Log.i(TAG, "onStart");
  
  
 }
 
}

 

serviceActivity.java  文件

 

package com.terry;

import android.app.Activity;
import android.content.ComponentName;
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;

public class serviceActivity extends Activity {
 ServiceConnection connection;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        connection=new ServiceConnection() {                                            //创建serviceconnection
   
   @Override
   public void onServiceDisconnected(ComponentName name) {                      //serviceconnection里面的函数 onServiceDisconnected
    // TODO Auto-generated method stub
    
   }
   
   @Override
   public void onServiceConnected(ComponentName name, IBinder service) {   //serviceconnection里面的函数 onServiceConnected 
    // TODO Auto-generated method stub
    
   }
  };
  
  
   OnClickListener listener=new OnClickListener() {            //创建onclicklistener
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    Intent i=new Intent(serviceActivity.this, ServiceSample.class);         //创建intent
    switch (v.getId()) {                                                   switch选择语句
    case R.id.Button01:
     startService(i);                                              //如果按了button1 就运行startService(i);
     break;
    case R.id.Button02:
     stopService(i);                                               //如果按了button2就运行stopService(i);
     break;
    case R.id.Button03:
     bindService(i, connection, BIND_AUTO_CREATE);        //如果按了button3就运行bindService(i,connection,BIND_AUTO_CREATE)
     break;
    case R.id.Button04:                                      
     unbindService(connection);                                  //如果按了button4就运行unbindService(connection);
     break;                      
    default:
     break;
    }
   }
  };
   Button btn=(Button)findViewById(R.id.Button01);
   btn.setOnClickListener(listener);                                     //给按钮添加事件
   Button btn2=(Button)findViewById(R.id.Button02);
   btn2.setOnClickListener(listener);
   Button btn3=(Button)findViewById(R.id.Button03);
   btn3.setOnClickListener(listener);
   Button btn4=(Button)findViewById(R.id.Button04);
   btn4.setOnClickListener(listener);
       
    }
    
}

posted @ 2013-12-19 13:54  爱编程hao123  阅读(1337)  评论(0编辑  收藏  举报