Android本机和React Native之间的共享数据持久性

时间:2018-11-14 07:48:15

标签: android react-native

我目前正在使用一些本机Android代码来开发React-Native应用程序。我在Android方面设置了一些本地通知功能,但我需要它与我的React Native代码共享数据存储。

我知道这是一个非常奇怪的用例,但是由于对该项目施加了更大的限制,所以我不能依赖现有的库来进行通知。

应用程序的javascript部分是否可以与本机Android代码共享本地持久存储解决方案?我很想能够在React-Native中使用像AsyncStorageRealm这样简单的东西,并且能够在我的本机代码中读取/写入同一存储区,但是我最初的Google搜索没有发现任何结果。

有人熟悉吗?希望得到任何指导或建议!

1 个答案:

答案 0 :(得分:0)

如果您只想要AsyncStorage之类的东西,请使用下面的库在 SharedPreferences 中设置和获取数据。

https://github.com/sriraman/react-native-shared-preferences

要在React Native Javascript中设置和获取数据,只需导入SharedPreferences并像这样使用它即可:

SharedPreferences.setItem("key_of_data","data to store"); 
SharedPreferences.getItem("key_of_data", function(value){   
// fetched data is accessible here 
});

要在Android Native中设置和获取数据: https://developer.android.com/reference/android/content/SharedPreferences

SharedPreferences settings = getApplicationContext().getSharedPreferences("wit_player_shared_preferences", getApplicationContext().MODE_PRIVATE);

获取数据:

String dataToFetch = settings.getString("key_of_data", null);

设置数据:

SharedPreferences.Editor editor = settings.edit();
editor.putString("key_of_data", "data to store");
editor.commit();

注意:目前,您仅需使用以下共享名:“ wit_player_shared_preferences”