我想在我的应用程序中使用共享偏好,但是在互联网上的所有教程和文档中,我都找不到放置我想要使用的文件的位置。
我的意思是,当试图访问它时:
public static final String PREFS_NAME = "AOP_PREFS";
SharedPreferences settings = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
我不知道在哪里放置文件AOP_PREFS.xml,以便我的类可以使用它。我错过了什么,我不是想创建一个文件吗?
答案 0 :(得分:0)
我不太明白你在这里要做什么。如果您的代码位于活动类中,则只需拨打getSharedPreferences(int)
而不是getSharedPreferences(String, int)
。你得到这样的偏好:
SharedPreferences prefs = getSharedPreferences (Context.MODE_PRIVATE);
或者您也可以使用PreferenceManager
课程来获取共享偏好设置:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
其中this
是Context
个对象。
您可以使用密钥从首选项中检索字符串(在本例中为myString
)。
prefs.getString ("myString", "");
如果您没有使用myString
键保存字符串,则会返回第二个参数。
这是您可以将字符串保存到首选项中的方法:
prefs.edit().putString ("myString", "Some String value");
第一个参数是键,第二个参数是值。不言自明!
NOW REMEMBER!每次保存时,请致电apply()
!
prefs.edit().putString ("myString", "Some String value").apply();
*******
这就是你必须了解的共享偏好!
答案 1 :(得分:0)
使用SharedPreferences,文件会自动在应用内部存储空间的files
文件夹中创建,因此您无需显式执行任何操作即可创建文件。
本案例中的文件为AOP_PREFS.xml
。
您也可以使用“默认”SharedPreferences,它将存储在包含您应用程序包名称的xml文件中。
写入默认SharedPreferences的示例:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = sp.edit();
editor.putLong("some_value", someValue);
editor.commit();
读:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
Long someVal = sp.getLong("some_value", 0);
请注意,除非您拥有root设备,否则您将无法在内部存储中查看文件。