一、服務的應用場景
常見的應用場景:天氣預報軟件,股票軟件,音樂播放器等.
在手機網絡信號不好的時候,用戶提交數據時,應該縣把數據保存到sqlite數據庫中,在服務中寫一個方法,用來監測網絡信號,如果網絡信號比較好,就從數據庫中查詢出記錄,然后自動提交給服務器端.
二、遠程服務aidl的寫法(重點)
調用遠程服務中的業務方法.
遠程服務:在同一個設備上安裝了另外一個軟件,這個軟件有一個服務.
本地應用:自己當前的工程;
aidl: android interface defination language 安卓的接口定義語言;
aidl文件是一個對外開放共享的文件,可以拷貝到其他工程中使用.
IPC:inter process communication進程間的通訊;
步驟:
1.把遠程服務中的IService.java文件改成IService.aidl;
2.把遠程服務中的IService.aidl文件中的public關鍵字刪除;
3.讓遠程服務中的中間人的類繼承Stub(原來繼承的Binder,實現的IService接口都刪除掉了);
4.把遠程服務中的IService.aidl連同包一起拷貝到本地應用程序中;
5.在本地應用中,綁定服務成功時得到服務返回的中間人對象:
IService myBinder = Stub.asInterface(service);
6.在本地應用中調用遠程服務方法的地方調用中間熱的方法;