Android 首选项活动是否另存为私有值?
我不理解android中共享偏好的含义。智能手机上的其他应用程序是否可以访问共享优先权? 如果我将此类用于保存首选项:Android 首选项活动是否另存为私有值?,android,Android,我不理解android中共享偏好的含义。智能手机上的其他应用程序是否可以访问共享优先权? 如果我将此类用于保存首选项: public class ImpostazioniActivity extends PreferenceActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFro
public class ImpostazioniActivity extends PreferenceActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.impostazioni);
} }
我在其他活动中使用的Anda后:
SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(getContext());
if(preference.getString("username","").length() == 0 || preference.getString("password","").length() == 0)
return false;
else
return true;
没事吧?我确信这些信息只有在我的申请表中才能获得?
谢谢引用:
要为应用程序获取SharedReferences对象,请使用以下两种方法之一
方法:
GetSharedReferences()-如果需要多个首选项,请使用此选项
由名称标识的文件,使用第一个参数指定该名称
getPreferences()-如果只需要一个首选项文件,请使用此选项
你的活动。因为这将是您的唯一首选项文件
活动,您不提供名称
因此,您应该使用getSharedReferences(PREFS\u FILENAME,Context.MODE\u PRIVATE)
其中PREFS\u FILENAME是您希望应用程序使用的文件,并且
Context.MODE\u PRIVATE
是一种文件创建模式,其中创建的文件只能由调用应用程序(或共享相同用户ID的所有应用程序)访问
编辑:我看了你的代码,如果你想存储任何敏感的用户信息(如密码),你必须先加密它!看看这个。它将使您能够在SharedReferences中加密/解密数据。您的使用情况良好。从
PreferenceActivity
扩展的任何活动都将使用应用程序的DefaultSharedReferences文件。谢谢!手机中的其他应用程序可以看到我的偏好?没有,但它们只是纯文本文件,在插入手机时可以轻松读取。任何重要数据都应该按照@hovanesyan的建议进行加密。