好的,我遇到了很多关于创建和写入/读取文件的教程。我想要我的 Android 应用程序是创建一个小文本文件,它将在其中读取和写入一些设置,以便可以保存我的用户信息。问题是我遇到的每个教程都使用 SD 卡(允许用户和任何其他应用程序读取)或使用 MODE_WORLD_READABLE 使任何应用程序读取它。
我想知道如何创建和读/写我的文件,但私有或至少将其保存在手机的内部存储中。
2 回答
这是一个简单的例子。要阅读首选项,请执行以下操作:
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
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 种数据存储类型的链接:存储选项