編輯:關於Android編程
package com.jiaruihua.service.demo; import android.app.Service; import android.content.Intent; import android.os.Binder; import android.os.IBinder; public class AlipayService extends Service { @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub System.out.println("遠程服務已綁定"); //注意此處要返回我們的IBinder return new MyBinder(); } @Override public boolean onUnbind(Intent intent) { // TODO Auto-generated method stub System.out.println("遠程服務已解除"); return super.onUnbind(intent); } @Override public void onCreate() { // TODO Auto-generated method stub System.out.println("遠程服務已創建"); super.onCreate(); } @Override public void onDestroy() { // TODO Auto-generated method stub System.out.println("遠程服務已銷毀"); super.onDestroy(); } /*
*此處是遠程所要調用的方法,功能處理在此處 * 支付操作 */ public void payMoney(){ System.out.println("支付操作"); } /*
*此處需要一個Iservice.Stub,這是我們定義的Iservice.aidl,所實現的,見第二步 * Iservice.Stub 已經實現Binder */ public class MyBinder extends Iservice.Stub{ @Override public void callMethodService() { payMoney(); } } }
package com.jiaruihua.service.demo; //aidl 接口定義不需要訪問修飾符 默認公共 interface Iservice { void callMethodService(); }
package com.example.mygameapp; import com.jiaruihua.service.demo.Iservice; 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.os.RemoteException; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity { private Intent intent; private Iservice iservice; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); intent = new Intent(); // 此處的action 必須和你在調用的程序裡設置的action 一至 intent.setAction("com.jiaruihua.ServicePay"); // 綁定服務 findViewById(R.id.banding).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // 綁定服務 開啟服務 bindService(intent, new MyConn(), BIND_AUTO_CREATE); } }); // 調用遠程方法 findViewById(R.id.callmethod).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub try { iservice.callMethodService(); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } private class MyConn implements ServiceConnection { // 成功綁定 @Override public void onServiceConnected(ComponentName name, IBinder service) { // 將sercicse 轉換成Iservice接口類型 iservice = Iservice.Stub.asInterface(service); } @Override public void onServiceDisconnected(ComponentName name) { // TODO Auto-generated method stub } } }
介紹一些, 在Android開發中, 會經常使用的小知識點.1. Download文件夾絕對路徑/storage/emulated/0/Download/xxx遍歷
Android基礎入門教程——9.3 使用Camera拍照標簽(空格分隔): Android基礎入門教程本節引言 本節給大家帶來的是Android
1、明白Android SDK Manager是什麼? Android SDK Manager是用來安裝Android SDK的,裡面可以選擇不同版本的Android
有許多博客和開源項目都致力於這項工作,但是他們的工作大都是為了制作類似於啟動頁的效果,ViewPager全屏顯示,或者自己可操作的屬性難以滿足要求,因此我想把ViewPa