Android SharedReferences具有模式\私有、模式\世界\可读、模式\世界\可写

Android SharedReferences具有模式\私有、模式\世界\可读、模式\世界\可写,android,Android,Android中的SharedReference是应用程序的本地引用,而不是在不同的应用程序之间共享。当我说 SharedPreferences preferences = getSharedPreferences(PREF_NAME, MODE_WORLD_READABLE); 将此首选项设置为可读、可写或 MODE\u PRIVATE?getSharedReferences(字符串名称,int模式) 更多信息 编辑 从API 17开始,不推荐使用MODE\u WORLD\u READABL

Android中的
SharedReference
是应用程序的本地引用,而不是在不同的应用程序之间共享。当我说

SharedPreferences preferences = getSharedPreferences(PREF_NAME, MODE_WORLD_READABLE);
将此首选项设置为可读、可写或
MODE\u PRIVATE

getSharedReferences(字符串名称,int模式)

更多信息

编辑 从API 17开始,不推荐使用
MODE\u WORLD\u READABLE
MODE\u WORLD\u WRITEABLE

此常量在API级别17中被弃用。
创建世界可读的文件是非常危险的,并且可能会在应用程序中造成安全漏洞。强烈劝阻;相反,应用程序应该使用更正式的交互机制,如
ContentProvider
BroadcastReceiver
服务
。无法保证此访问模式将保留在文件上,例如在文件进行备份和恢复时


首选项存储在文件系统中。该模式定义谁有权访问应用程序的首选项

简单来说:

  • 模式\u PRIVATE
    是首选项的操作模式。这是默认模式,意味着创建的文件将仅由调用应用程序访问
  • 模式\u WORLD\u READABLE
    中,其他应用程序可以读取创建的文件,但不能修改它
  • MODE\u WORLD\u WRITEABLE
    的情况下,其他应用程序也对创建的文件具有写入权限
建议的方法是在默认模式下使用,而不指定文件名

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);

共享首选项也保存在文件系统的文件中。这些模式定义了其他应用程序是否有权读取文件中的碎片首选项

MODE_PRIVATE
意味着只有创建共享首选项的应用程序才能读写首选项

MODE\u WORLD\u READABLE
表示其他应用程序也可以使用共享首选项API读取这些首选项,但不能在此首选项文件中写入值

MODE\u WORLD\u WRITEABLE
意味着其他应用程序也可以使用共享首选项API读取和写入首选项文件

下面的链接也有一些很好的解释和代码示例来解释模式:


MODE\u PRIVATE是指应用程序创建的文件,用于存储应用程序首选项数据,该数据只能由您自己的应用程序访问


没有其他应用程序能够访问该文件

替代方法是什么?
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);