我是React Native的新手,正在开发一个使用Android SharedPreferences存储本地数据的应用。我目前将SharedPreferences设置为ReactContextBaseJavaModule
,并且能够通过React Native文件中的@ReactMethod
注解访问所有方法。
我需要访问SharedPreference的值,定义为ReactContextBaseJavaModule
,在原生Android模块中。目前,我可以通过更新原生Android类(*.kt)中定义的常量来实现这一点。有没有更好的方法来做到这一点,即。能够从Android类访问ReactContextBaseJavaModule
内部定义的方法,或者为SharedPreference访问创建 Package 器?
我尝试在多个平台上搜索解决方案,并找到了如何从React Native文件访问本机模块的解决方案。我无法找到双向访问ReactContextBaseJavaModule
类的解决方案。
我面临的挑战:
1.无法为类示例从原生Android类传递ReactApplicationContext
。
1.无法从原生Android类访问使用@ReactMethod
注解的方法。
1.在ReactContextBaseJavaModule
中注入原生Android类示例。
1条答案
按热度按时间62lalag41#
1.创建了一个原生android
SharedPreferences
类,公开了所有共享首选项相关的方法。类MySharedPreferences构造函数(上下文:{/getters和setters/}
1.创建了一个
ReactContextBaseJavaModule
作为到React Native的桥梁,使用@ReactModule
注解的暴露方法。在init{}
方法中创建了Android原生SharedPreferences
的示例。1.现在,我可以通过Android类中的一个示例访问Android native
SharedPreferences
,在这个示例中,我需要访问prefs值,并通过React Native的桥访问/更新值。