1. 程式人生 > >android 多程序操作sp問題

android 多程序操作sp問題

最近在專案中遇到了關於sp操作的一些問題,分享出來避免大家踩坑。

問題描述:

假如你的應用擁有多個程序,比如有兩個程序,分別叫程序A和程序B,你定義了一個sp檔案叫apkInfo用於儲存應用的一些資訊。A程序和B程序都需要存取應用資訊,所以你在A程序和B程序都會操作apkInfo這個sp檔案,這樣會導致apkInfo儲存的資料出現丟失的情況,使應用出現一些意想不到的bug(假如你存了一些比較重要的資訊)。

解決方案:

一個sp檔案只能被單個程序操作,如果會在不同的程序存取資訊,則需要建立多個sp檔案。
比如上面的問題,你需要建立兩個儲存應用資訊的sp檔案,比如分別叫apkInfoA和apkInfoB,apkInfoA只會被A程序操作,apkInfoB只能被B程序操作。

假如你需要在A程序獲取儲存在apkInfoB的一些資訊,那你可以通過程序間傳遞資料的方式告訴B程序去apkInfoB拿資料,拿了資料後再傳給程序A,反之一樣。

切記:
一個sp檔案只能被單個程序操作,不能多程序操作同一個sp檔案。