2

好的,我遇到了很多关于创建和写入/读取文件的教程。我想要我的 Android 应用程序是创建一个小文本文件,它将在其中读取和写入一些设置,以便可以保存我的用户信息。问题是我遇到的每个教程都使用 SD 卡(允许用户和任何其他应用程序读取)或使用 MODE_WORLD_READABLE 使任何应用程序读取它。

我想知道如何创建和读/写我的文件,但私有或至少将其保存在手机的内部存储中。

4

2 回答 2

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

于 2012-10-21T05:52:36.377 回答
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 种数据存储类型的链接:存储选项

于 2012-10-21T06:12:13.143 回答