實現Android 接口方法介紹
我們認為全球移動用戶從中能獲得的潛在利益是值得付出這些努力的,如果你也是一個開發者,并對我們的想法感興趣,讓這些Android 接口變得更好,同時也將添加更有吸引力的特性、應用和服務。
生成的接口包括一個名為Stub的內部抽象類,該類聲明了你在aidl文件中聲明的所有方法。Stub也定義幾個有用的方法,最特別的是asInterface(),它執行一個IBinder(在 applicationContext.bindService()執行成功后傳給客戶端onServiceConnected()方法),并返回一個用來調用IPC方法的接口實例。更多細節請查看章節調用IPC方法。
- 1. 聲明一個接口類型的變量,該接口類型在.aidl文件中定義。
- 2.Implement ServiceConnection.
- 2. 實現ServiceConnection。
- 3.Call ApplicationContext.bindService(), passing in your ServiceConnection implementation.
- 3. 調用ApplicationContext.bindService(),并在ServiceConnection實現中進行傳遞.
- 4.In your implementation of ServiceConnection.onServiceConnected(), you will receive an IBinder instance (called service).
- Call YourInterfaceName.Stub.asInterface((IBinder)service) to cast the returned parameter to YourInterface type.
- 4. 在ServiceConnection.onServiceConnected()實現中,你會接收一個IBinder實例(被調用的Service). 調用
- YourInterfaceName.Stub.asInterface((IBinder)service)將參數轉換為YourInterface類型。
- 5.Call the methods that you defined on your interface. You should always trap DeadObjectException exceptions, which are
- thrown when the connection has broken; this will be the only exception thrown by remote methods.
- 5. 調用接口中定義的方法。 你總會捕捉到DeadObjectException異常,該異常在連接斷開時被拋出。它只會被遠程方法拋出。
- 6.To disconnect, call ApplicationContext.unbindService() with the instance of your interface.
- 6. 斷開連接,調用接口實例中的ApplicationContext.unbindService()
實現Android 接口,擴展YourInterface.Stub,并實現方法成員。(你可以創建一個aidl文件并實現stub方法而不用綁定-AndRoid創建過程在java文件之前會處理aidl文件)。 現在你已完成了接口的實現,你需要向客戶端公開該實現。
這就是我們所熟悉的"發布服務"。發布一個Service,然后繼承 Service并實現getBinder()返回一個實現的類的實例。下面是個Service的代碼片斷,該Service向客戶端公了 IRemoteService接口。
如果你有類需要通過Android 接口從一個進程發送到另一個,你必須確保類代碼可以被IPC接收端所使用。通常這意味著一開始你就要和service進行通訊。, Android 作為谷歌企業戰略的重要組成部分。
將進一步推進“隨時隨地為每個人提供信息”這一企業目標的實現。我們發現,全球為數眾多的移動電話用戶從未使用過任何基于 Android 的電話。谷歌的目標是讓(移動通訊)不依賴于設備甚至平臺。
出于這個目的,Android 接口將補充,而不會替代谷歌長期以來奉行的移動發展戰略:通過與全球各地的手機制造商和移動運營商結成合作伙伴,開發既有用又有吸引力的移動服務,并推廣這些產品。
開放手機聯盟的成立和 Android 的推出是對現狀的重大改變,在帶來初步效益之前,還需要不小的耐心和高昂的投入。但是,我們認為全球移動用戶從中能獲得的潛在利益是值得付出這些努力的。
如果你也是一個開發者,并對我們的想法感興趣,就請再給我們一星期的時間,屆時谷歌便能提供 SDK 了。如果你是一名移動用戶,只需再等一段時間,我們的一些合作伙伴計劃在 2008 年下半年推出基于 Android 平臺的電話產品。
如果你已經擁有一部你了解并喜愛的電話,請登錄 mobile.google.com ,確保你已經安裝谷歌手機地圖、Gmail 以及其他一些專為你的手機開發的精彩應用。谷歌將繼續努力,讓這些服務變得更好,同時也將添加更有吸引力的特性、應用和服務。
【編輯推薦】