Activity页面:
public class MainActivity extends Activity implements OnClickListener {
private EditText two;
private EditText one;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.button3).setOnClickListener(this);
one = (EditText) findViewById(R.id.editText1);
two = (EditText) findViewById(R.id.editText2);
intent = new Intent("com.qy.day8c_05.MyBindService");
}
private Intent intent;
private MyBindService.MyBind bind;
ServiceConnection connection = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
// 获取onBind返回的对象
bind = (MyBind) service;
}
};
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
bindService(intent, connection, Service.BIND_AUTO_CREATE);
break;
case R.id.button2:
//判空
String add = bind.add(one.getText().toString().trim(), two.getText().toString().trim());
Toast.makeText(MainActivity.this, add, 1).show();
break;
case R.id.button3:
unbindService(connection);
break;
}
}
}
BindService:
//第一步 :继承service app的包
public class MyBindService extends Service {
class MyBind extends Binder {
public String add(String text0, String text1) {
// Integer.valueOf把字符串转成int
int t = Integer.valueOf(text0);
int m = Integer.valueOf(text1);
return t + m + "";
}
}
private MyBind bind = new MyBind();
@Override
public IBinder onBind(Intent intent) {
Log.e(tag, " onBind()");
return bind;
}
// 下面的生命周期和本次计算无关========================================
String tag="MyBindService";
@Override
public void onCreate() {
super.onCreate();
Log.e(tag, " onCreate()");
}
@Override
public boolean onUnbind(Intent intent) {
Log.e(tag, " onUnbind()");
return super.onUnbind(intent);
}
}