InterProcessSharedPreferences-Android中跨進程的SharedPreferences

解決android中的SharedPreferences不能跨進程讀寫的問題.

用法

Android Studio

  • 選擇添加:
	compile project(':interprocesssharedpreferences')
  • 或者
	compile 'jone.common.android.data.sharedPreferences:interprocesssharedpreferences:1.0.0' 
	//如果獲取不到,則加入 maven { url 'http://dl.bintray.com/sunjoner7/maven' }
  • 在AndroidManifest.xml註冊
	<!--authorities 規則:應用的包名 + ".InterProcessContentProvider"-->
    <provider
        android:name="jone.common.android.data.sharedPreferences.InterProcessContentProvider"
        android:authorities="jone.common.android.data.sharedPreferences.sample.InterProcessContentProvider"
        android:enabled="true"
        android:exported="true" />

Eclipse

自行copy[源碼](https://github.com/jonesun/InterProcessSharedPreferences)。

用法示例

普通讀寫

InterProcessSharedPreferences interProcessSharedPreferences = InterProcessSharedPreferences.getInstance(getApplication());
interProcessSharedPreferences.putString("testStr", edit_value.getText().toString()); //寫入
interProcessSharedPreferences.getString("testStr", "empty"); //讀取
interProcessSharedPreferences.remove("testStr"); //刪除

監聽

 InterProcessSharedPreferences interProcessSharedPreferences = InterProcessSharedPreferences.getInstance(getApplication());
 
 ISharedPreferences.OnSharedPreferenceChangeListener onSharedPreferenceChangeListener = new ISharedPreferences.OnSharedPreferenceChangeListener() {
         @Override
         public void onSharedPreferenceChanged(ISharedPreferences sharedPreferences, String key) {
             Log.e(TAG, "interProcessSharedPreferences--onSharedPreferenceChanged>>key: " + key + " value: " + sharedPreferences.getString(key, "empty"));
         }
     };
     
 //監聽(onCreate)
 interProcessSharedPreferences.registerOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener); 
 
 //取消監聽(onDestroy 不需要監聽時一定要取消監聽)
 interProcessSharedPreferences.unregisterOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章