Android 在不同包之间管理SharedReference
我正在开发一个应用程序,使用包Android 在不同包之间管理SharedReference,android,sharedpreferences,java-package,Android,Sharedpreferences,Java Package,我正在开发一个应用程序,使用包com.example1,我正在使用包com.example2做另一个模块作为库 在我的模块(com.example2)上,我使用以下静态函数: public static void saveLastDownload(Activity mActivity, long numberLong) { SharedPreferences sharedPref = mActivity.getPreferences(Context.MODE_APPEND
com.example1
,我正在使用包com.example2
做另一个模块作为库
在我的模块(com.example2
)上,我使用以下静态函数:
public static void saveLastDownload(Activity mActivity, long numberLong) {
SharedPreferences sharedPref = mActivity.getPreferences(Context.MODE_APPEND);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putLong(dataLastDownloadKey, numberLong);
boolean commit = editor.commit();
}
public static long readLastDownload(Activity mActivity, long defaultValue) {
SharedPreferences sharedPref = mActivity.getPreferences(Context.MODE_PRIVATE);
return sharedPref.getLong(dataLastDownloadKey, defaultValue);
}
我正试图从comsaveDownload
和readLastDownload
。示例1
但我没有得到这些共享首选项的任何价值。如何以现代的方式读取此值(没有任何安全漏洞,尽管我不想将其私有化)
我怎么做呢
非常感谢您的光临。如果您想使用首选项执行此操作: 创建世界可写文件是非常危险的,并且可能导致 应用程序中的安全漏洞。强烈劝阻;相反 应用程序应该使用更正式的交互机制,例如 和
你好,埃莉纳斯。我问这个问题的原因是因为MODE_WORLD_READABLE在>=API 17中被弃用了,这里没有其他方法吗?Hola Rafael,我使用BroadcastReceiver发送数据并在每个应用程序的首选项中保存值。所以我想这是唯一的选择