好的,我遇到过很多关于创建和编写/读取文件的教程。我想要的Android应用程序是创建一个小文本文件,它将读取和写入一些设置,以便保存我的用户信息。问题是我遇到的每个教程都使用SD卡(允许用户和任何其他应用程序阅读)或使用MODE_WORLD_READABLE使任何应用程序读取它。
我想知道如何创建和读/写我的文件,但私人或至少将它保存在手机的内部存储器上。
答案 0 :(得分:3)
这是一个简单的例子。要阅读偏好,请执行以下操作:
SharedPreferences preferences = getSharedPreferences("YourAppName", MODE_PRIVATE);
String thisString = preferences.getString("KeyForThisString", "default");
你可以getInt,getLong等。
要存储首选项,请使用以下行:
SharedPreferences preferences = getSharedPreferences("YourAppName",MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("KeyForThisString", thisString);
editor.commit();
和以前一样,你可以putInt,putLong等。
此API的可用方法如下:http://developer.android.com/reference/android/content/SharedPreferences.html
答案 1 :(得分:1)
dont know how to use it much and from what im seeing at least, its not much of a difference unless im wrong.
我仍然建议使用SharedPreferences
技术。这显然很容易,节省了很多时间。
您可以使用它来保存任何原始数据:booleans, floats, ints, longs, and strings
。
例如,每当用户调用对应用程序的任何更改时,您都可以这样做,因为它是高性能技术。通过这种方式即使在崩溃时,所有已编辑的信息也将被存储。
假设您有一个活动。
使用此方法,其中data
是您要保存为文件的字符串。
private void saveInfo(String data){
String key = "myKey";
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString(key , data);
editor.commit();
}
现在,当您再次启动应用程序onCreate
方法时,您可以重新加载信息:
private void loadInfo(){
String key = "myKey";
SharedPreferences mPrefs = context.getSharedPreferences(LauncherUI.PREFS_NAME, 0);
String yourData = mPrefs.getString(key, ""); // "" means if no data found, replace it with empty string
}
以下是指向存储数据的5种类型的链接:Storage Options