Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android建立能與Activity進行相互通信的本地服務

Android建立能與Activity進行相互通信的本地服務

編輯:關於Android編程

MyService.java [java]   package cn.itcast.service;      import android.app.Service;   import android.content.Intent;   import android.os.Binder;   import android.os.IBinder;      public class MyService extends Service {       private Binder binder = new MyBinder();              public String getName(int id){           return "傳智播客";       }              @Override       public IBinder onBind(Intent intent) {           return binder;       }              private final class MyBinder extends Binder implements IService{           public String getName(int id){               return MyService.this.getName(23);           }       }      }     MainActivity.java [java]  package cn.itcast.service;      import android.app.Activity;   import android.content.ComponentName;   import android.content.Intent;   import android.content.ServiceConnection;   import android.os.Bundle;   import android.os.IBinder;   import android.view.View;   import android.widget.Button;   import android.widget.TextView;      public class MainActivity extends Activity {       private MyServiceConnection conn;       private IService myservice;       @Override       public void onCreate(Bundle savedInstanceState) {           super.onCreate(savedInstanceState);           setContentView(R.layout.main);                      conn = new MyServiceConnection();           Intent intent = new Intent(this, MyService.class);           bindService(intent, conn, BIND_AUTO_CREATE);           Button button = (Button) this.findViewById(R.id.button);           button.setOnClickListener(new View.OnClickListener() {                         @Override               public void onClick(View v) {                   TextView resultView = (TextView) findViewById(R.id.result);                   resultView.setText(myservice.getName(56));               }           });       }              private final class MyServiceConnection implements ServiceConnection{           @Override           public void onServiceConnected(ComponentName name, IBinder service) {               myservice = (IService)service;           }              @Override           public void onServiceDisconnected(ComponentName name) {               myservice = null;           }       }          @Override       protected void onDestroy() {           unbindService(conn);           super.onDestroy();       }          }     IService.java [java]   package cn.itcast.service;      public interface IService {       public String getName(int id);   }       [html]   <?xml version="1.0" encoding="utf-8"?>   <manifest xmlns:android="http://schemas.android.com/apk/res/android"         package="cn.itcast.service"         android:versionCode="1"         android:versionName="1.0">       <application android:icon="@drawable/icon" android:label="@string/app_name">           <activity android:name=".MainActivity"                     android:label="@string/app_name">               <intent-filter>  www.2cto.com                 <action android:name="android.intent.action.MAIN" />                   <category android:name="android.intent.category.LAUNCHER" />               </intent-filter>           </activity>           <service android:name=".MyService"/>       </application>       <uses-sdk android:minSdkVersion="8" />      </manifest>       
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved