ANDROID_MARS学习笔记_S01原始版_017_绑定SERVICE
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ANDROID_MARS学习笔记_S01原始版_017_绑定SERVICE相关的知识,希望对你有一定的参考价值。
一、代码
1.xml
(1)activity_main.xml
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:paddingBottom="@dimen/activity_vertical_margin" 6 android:paddingLeft="@dimen/activity_horizontal_margin" 7 android:paddingRight="@dimen/activity_horizontal_margin" 8 android:paddingTop="@dimen/activity_vertical_margin" 9 tools:context="com.service2.MainActivity" > 10 11 <Button 12 android:id="@+id/bindBtn" 13 android:layout_width="wrap_content" 14 android:layout_height="wrap_content" 15 android:text="完成绑定操作" /> 16 17 </RelativeLayout>
(2)AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.service2" 4 android:versionCode="1" 5 android:versionName="1.0" > 6 7 <uses-sdk 8 android:minSdkVersion="8" 9 android:targetSdkVersion="21" /> 10 11 <application 12 android:allowBackup="true" 13 android:icon="@drawable/ic_launcher" 14 android:label="@string/app_name" 15 android:theme="@style/AppTheme" > 16 <activity 17 android:name=".MainActivity" 18 android:label="@string/app_name" > 19 <intent-filter> 20 <action android:name="android.intent.action.MAIN" /> 21 22 <category android:name="android.intent.category.LAUNCHER" /> 23 </intent-filter> 24 </activity> 25 <service android:name=".SecondService"></service> 26 </application> 27 28 </manifest>
2.java
(1)MainActivity.java
1 package com.service2; 2 3 import android.app.Activity; 4 import android.content.ComponentName; 5 import android.content.Intent; 6 import android.content.ServiceConnection; 7 import android.os.Bundle; 8 import android.os.IBinder; 9 import android.view.View; 10 import android.view.View.OnClickListener; 11 import android.widget.Button; 12 13 import com.service2.SecondService.FirstBinder; 14 15 public class MainActivity extends Activity { 16 17 private Button bindBtn = null; 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_main); 22 bindBtn = (Button)findViewById(R.id.bindBtn); 23 bindBtn.setOnClickListener(new OnClickListener() { 24 @Override 25 public void onClick(View v) { 26 Intent intent = new Intent(); 27 intent.setClass(MainActivity.this, SecondService.class); 28 bindService(intent, conn, BIND_AUTO_CREATE); 29 } 30 }); 31 } 32 33 ServiceConnection conn = new ServiceConnection() { 34 @Override 35 public void onServiceDisconnected(ComponentName name) { 36 System.out.println("onServiceDisconnected>>>>>>"); 37 } 38 @Override 39 public void onServiceConnected(ComponentName name, IBinder service) { 40 FirstBinder binder = (FirstBinder)service; 41 System.out.println("onServiceConnected>>>>>"+binder.getData()); 42 } 43 }; 44 }
(2)SecondService.java
1 package com.service2; 2 3 import android.app.Service; 4 import android.content.Intent; 5 import android.os.Binder; 6 import android.os.IBinder; 7 8 public class SecondService extends Service { 9 10 @Override 11 public IBinder onBind(Intent intent) { 12 IBinder binder = new FirstBinder(); 13 return binder; 14 } 15 16 class FirstBinder extends Binder { 17 public String getData() { 18 return "test data"; 19 } 20 } 21 }
以上是关于ANDROID_MARS学习笔记_S01原始版_017_绑定SERVICE的主要内容,如果未能解决你的问题,请参考以下文章
ANDROID_MARS学习笔记_S01原始版_005_RadioGroupCheckBoxToast
ANDROID_MARS学习笔记_S01原始版_009_下载文件
ANDROID_MARS学习笔记_S01原始版_014_WIFI
ANDROID_MARS学习笔记_S01原始版_016_Service