實現Android 介面方法介紹

來源:互聯網
上載者:User

我們認為全球移動使用者從中能獲得的潛在利益是值得付出這些努力的,如果你也是一個開發人員,並對我們的想法感興趣,讓這些Android 介面變得更好,同時也將添加更有吸引力的特性、應用和服務。

產生的介面包括一個名為Stub的內部抽象類別,該類聲明了你在aidl檔案中聲明的所有方法。Stub也定義幾個有用的方法,最特別的是asInterface(),它執行一個IBinder(在 applicationContext.bindService()執行成功後傳給用戶端onServiceConnected()方法),並返回一個用來調用IPC方法的介面執行個體。更多細節請查看章節調用IPC方法。

 
  1. 1. 聲明一個介面類型的變數,該介面類型在.aidl檔案中定義。     
  2.  2.Implement ServiceConnection.      
  3.  2. 實現ServiceConnection。     
  4.  3.Call ApplicationContext.bindService(), passing in your ServiceConnection implementation.      
  5.  3. 調用ApplicationContext.bindService(),並在ServiceConnection實現中進行傳遞.      
  6.  4.In your implementation of ServiceConnection.onServiceConnected(), you will receive an IBinder instance (called service).      
  7.    Call YourInterfaceName.Stub.asInterface((IBinder)service) to cast the returned parameter to YourInterface type.      
  8.  4. 在ServiceConnection.onServiceConnected()實現中,你會接收一個IBinder執行個體(被調用的Service). 調用     
  9.     YourInterfaceName.Stub.asInterface((IBinder)service)將參數轉換為YourInterface類型。     
  10.  5.Call the methods that you defined on your interface. You should always trap DeadObjectException exceptions, which are      
  11.    thrown when the connection has broken; this will be the only exception thrown by remote methods.      
  12.  5. 調用介面中定義的方法。 你總會捕捉到DeadObjectException異常,該異常在串連斷開時被拋出。它只會被遠程方法拋出。     
  13.  6.To disconnect, call ApplicationContext.unbindService() with the instance of your interface.      
  14.  6. 中斷連線,調用介面執行個體中的ApplicationContext.unbindService()   

實現Android 介面,擴充YourInterface.Stub,並實現方法成員。(你可以建立一個aidl檔案並實現stub方法而不用綁定-AndRoid建立過程在java檔案之前會處理aidl檔案)。 現在你已完成了介面的實現,你需要向用戶端公開該實現。

這就是我們所熟悉的"發布服務"。發布一個Service,然後繼承 Service並實現getBinder()返回一個實現的類的執行個體。下面是個Service的代碼片斷,該Service向用戶端公了 IRemoteService介面。

如果你有類需要通過Android 介面從一個進程發送到另一個,你必須確保類代碼可以被IPC接收端所使用。通常這意味著一開始你就要和service進行通訊。, Android 作為Google企業戰略的重要組成部分。

將進一步推進“隨時隨地為每個人提供資訊”這一企業目標的實現。我們發現,全球為數眾多的行動電話使用者從未使用過任何基於 Android 的電話。Google的目標是讓移動通訊)不依賴於裝置甚至平台。

出於這個目的,Android 介面將補充,而不會替代Google長期以來奉行的移動發展戰略:通過與全球各地的手機製造商和行動電信業者結成夥伴,開發既有用又有吸引力的行動服務,並推廣這些產品。

開放手機同盟成立和 Android 的推出是對現狀的重大改變,在帶來初步效益之前,還需要不小的耐心和高昂的投入。但是,我們認為全球移動使用者從中能獲得的潛在利益是值得付出這些努力的。

如果你也是一個開發人員,並對我們的想法感興趣,就請再給我們一星期的時間,屆時Google便能提供 SDK 了。如果你是一名移動使用者,只需再等一段時間,我們的一些夥伴計劃在 2008 年下半年推出基於 Android 平台的電話產品。

如果你已經擁有一部你瞭解並喜愛的電話,請登入 mobile.google.com ,確保你已經安裝Google手機地圖、Gmail 以及其他一些專為你的手機開發的精彩應用。Google將繼續努力,讓這些服務變得更好,同時也將添加更有吸引力的特性、應用和服務。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.