我想在 Android 设备的内部存储上保存和读取一个字符串。我想(如果文件不存在)写入文件,编辑文件并读取文件。最简单和最好的方法是什么?
提前致谢!
大多数情况下,您将使用标准的 Java I|O,就像您在以前的 Java 项目中所做的那样。
要获取内部存储上的文件,您有两个主要选择:
分别使用openFileInput()
和openFileOutput()
获取内部存储根目录中的InputStream
文件OutputStream
用于getFilesDir()
获取File
指向内部存储根目录的对象,您可以从中创建子目录、为输入和输出创建流和读取器等。
要写入值:
调用 edit() 以获取 SharedPreferences.Editor。使用 putBoolean() 和 putString() 等方法添加值。使用 commit() 提交新值 要读取值,请使用 SharedPreferences 方法,例如 getBoolean() 和 getString()。
这是一个在计算器中保存静音按键模式首选项的示例:
public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
. . .
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean("silentMode", false);
setSilent(silent);
}
@Override
protected void onStop(){
super.onStop();
// We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", mSilentMode);
// Commit the edits!
editor.commit();
}
}