2011年4月11日 星期一

Android talks to service via three IPC methods

       當我們需要一些工作是在背景同執行的時候,我們會使用到service 的物件,而當該service產生之後,下一個問題就是怎麼與該service 進行溝通。

       在Android 裡,有三種IPC 方式可以使用來與Service 作互動:(如下)

1. 當該Service 僅在同一個Application執行,可以簡單讓Service extend Binder class,在Activity onServiceConnected時候,透過Binder 取得Serivce 的instance ,而後可以直接取用public 的method,來操作該個Service.且不經過marshalling and unmarshalling的動作。

   2. 當Service 不在同個Application 下,若而該Service 執行服務的函數可以依序排隊執行時,我們可以選用Messenger 的方式來進行IPC。


3. 當Service 不在同一個Application 下,且Service 執行服務的動作需求同時並行,那就必需使用上AIDL(Android Interface Definition Language).

沒有留言:

張貼留言