Binder_service加法

来源:互联网 发布:淘宝刷单兼职hao360 编辑:程序博客网 时间:2024/05/17 06:29



package com.example.binder_service;import com.example.binder_service.MyAppService.MyBinder;import android.app.Activity;import android.app.Service;import android.content.ComponentName;import android.content.Intent;import android.content.ServiceConnection;import android.os.Bundle;import android.os.IBinder;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;public class MainActivity extends Activity {private ServiceConnection sc;private MyAppService myAppService;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sc=new ServiceConnection(){@Overridepublic void onServiceConnected(ComponentName name, IBinder service) {MyBinder mBinder = (MyBinder)service;myAppService = mBinder.getService();}@Overridepublic void onServiceDisconnected(ComponentName name) {}};Button start = (Button) findViewById(R.id.start);start.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {startService();}});Button bind=(Button) findViewById(R.id.bind);bind.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {bindService();}});Button getValue=(Button) findViewById(R.id.get);getValue.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {int result = myAppService.getServiceIntValue();Log.d("服务获取的值", result+"");}});}private void startService() {Intent intent = new Intent(this,MyAppService.class);startService(intent);}private void bindService() {Intent mIntent = new Intent(this,MyAppService.class);bindService(mIntent,sc,Service.BIND_AUTO_CREATE);}@Overrideprotected void onDestroy() {super.onDestroy();Intent intent = new Intent(this, MyAppService.class);stopService(intent);}}



package com.example.binder_service;import android.app.Service;import android.content.Intent;import android.os.Binder;import android.os.IBinder;import android.util.Log;public class MyAppService extends Service{private String str;privateint a=1,b=3,result=-1;@Overridepublic void onCreate() {Log.d(this.getClass().getName(), "onCreate");}//需要Service处理的操作在此:@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {Log.d("onStartCommand", result+"");this.result=a+b;return super.onStartCommand(intent, flags, startId);}public int getServiceIntValue() {return result;}public void setServiceValue(int a,int b) {this.a=a;this.b=b;}@Overridepublic IBinder onBind(Intent intent) {return new MyBinder();}public class MyBinder extends Binder{public MyAppService getService(){return MyAppService.this;}}@Overridepublic boolean onUnbind(Intent intent) {return super.onUnbind(intent);}@Overridepublic void onDestroy() {}}


0 0
原创粉丝点击