首页 > 其他 > 详细

服务bindService()方法启动服务

时间:2014-01-15 20:16:07      阅读:497      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
public class MainActivity extends Activity {
    private EditText studentno;
    private ServiceConnection conn = new StudentServiceConnection();
    private IStundent iStundent;
    private TextView resultView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        resultView = (TextView) this.findViewById(R.id.resultView);
        studentno = (EditText) this.findViewById(R.id.studentno);
        Button button = (Button) this.findViewById(R.id.button);
        button.setOnClickListener(new ButtonClickListener());
        Intent service = new Intent(this, StudentService.class);
        bindService(service, conn, BIND_AUTO_CREATE);
    }
    
    private class StudentServiceConnection implements ServiceConnection{
        public void onServiceConnected(ComponentName name, IBinder service) {
            iStundent = (IStundent)service;
        }
        public void onServiceDisconnected(ComponentName name) {
            iStundent = null;
        }
    }
    
    @Override
    protected void onDestroy() {
        unbindService(conn);
        super.onDestroy();
    }

    private final class ButtonClickListener implements View.OnClickListener{
        public void onClick(View v) {
            String no = studentno.getText().toString();
            String name = iStundent.queryStudent(Integer.valueOf(no));
            resultView.setText(name);
        }
    }
}
bubuko.com,布布扣
bubuko.com,布布扣
public class StudentService extends Service{
    private String[] names = {"张飞","李小龙","赵薇"};
    private IBinder binder = new StundentBinder();
    
    public String query(int no){
        if(no>0 && no<4){
            return names[no - 1];
        }
        return null;
    }
    
    @Override
    public IBinder onBind(Intent intent) {
        return binder;
    }
    
    private class StundentBinder extends Binder implements IStundent{
        public String queryStudent(int no) {
            return query(no);
        }
    }

}
bubuko.com,布布扣
public interface IStundent {
    public String queryStudent(int no);
}

 bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

服务bindService()方法启动服务

原文:http://www.cnblogs.com/heml/p/3515355.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!