BindService案例(利用Bind Service对两个数进行添加)

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);
    }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值