日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 使用Binder通信

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 使用Binder通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

遇到下雨,寫個簡單例子,用于Activity與Service通信,之前也有一篇Binder的:點擊。

例子非常簡單:

MainActivity.java

package com.juno.testbind;import android.app.Activity; import android.content.ComponentName; import android.content.Context; 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.TextView;public class MainActivity extends Activity {public final static String EXTRA_KEY_DATA = "key_data";private TestService mTestService;private ServiceConnection mConnection = new ServiceConnection() {public void onServiceConnected(ComponentName className, IBinder service) {mTestService = ((TestService.TestBinder)service).getService();}public void onServiceDisconnected(ComponentName className) {if(mTestService != null){mTestService = null;}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bindService();initView();}private void initView() {findViewById(R.id.button1).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {if (mTestService != null) {mTestService.doSomeThing();((TextView) findViewById(R.id.textView1)).setText(mTestService.getData());}}});}private void bindService() {Intent serviceIntent = new Intent(this, TestService.class);serviceIntent.putExtra(EXTRA_KEY_DATA, "data");bindService(serviceIntent, mConnection, Context.BIND_AUTO_CREATE);}@Overrideprotected void onDestroy() {super.onDestroy();unbindService(mConnection);}}

TestService.java

package com.juno.testbind;import android.app.Service; import android.content.Intent; import android.os.Binder; import android.os.IBinder; import android.widget.Toast;public class TestService extends Service {private IBinder mBind = new TestBinder();public class TestBinder extends Binder {TestService getService() {return TestService.this;}}@Overridepublic IBinder onBind(Intent intent) {if (intent != null) {//get Extra DataString data = intent.getStringExtra(MainActivity.EXTRA_KEY_DATA);Toast.makeText(this, data, Toast.LENGTH_SHORT).show();}return mBind;}@Overridepublic boolean onUnbind(Intent intent) {return super.onUnbind(intent);}public void doSomeThing() {Toast.makeText(this, "do some thing and set text to TextView", Toast.LENGTH_LONG).show();}public String getData() {return "test";} }
是Service得 <service android:name="com.juno.testbind.TestService" />

總結

以上是生活随笔為你收集整理的android 使用Binder通信的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。