共计 1722 个字符,预计需要花费 5 分钟才能阅读完成。
每次程序启动会读取配置文件,个别应用 INI 文件或 XML 文件或自定义,然而应用这些文件很繁琐
改良?
SharedPreferences! 将 NVP(name/valuePair)保留在 Android 文件系统中
它屏蔽课对文件系统的操纵过程
它有三种拜访模式:
MODE_PRIVATE,
MODE_WORLD_READABLE,
MODE_WORLD_WRITEABLE,
SharedPreferences 的实现
-
定义拜访模式
public static int MODE = Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE;
-
定义名称
public static final String PREFERENCE_NAME = "SaveSetting";
- 将模式和参数名称作为参数传递给 getSharedPreferences(),获取其实例
SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCE_NAME, MODE);
-
通过 SharedPreferences.Editor 对 SharedPreferences 进行批改,调用 commit()进行提交
private void saveSharedPreferences(){SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCE_NAME, MODE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("Name", nameText.getText().toString()); editor.putInt("Age", Integer.parseInt(ageText.getText().toString())); editor.putFloat("Height", Float.parseFloat(heightText.getText().toString())); editor.commit();}
-
获取曾经保留的 SharedPreferences 中的数据
private void loadSharedPreferences(){SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCE_NAME, MODE); String name = sharedPreferences.getString("Name","Tom"); int age = sharedPreferences.getInt("Age", 20); float height = sharedPreferences.getFloat("Height",1.81f); ... }
SharedPreferences 的文件保留在哪?
<data/data/<packege name>/shared_prefs
文件存储 -> 程序如何读写流式文件?
openFileOutput()和 openFileInput()
openFileOutput()的应用(为了写入数据而关上文件)
FileOutputStream fos = openFileOutput(FILE_NAME,Context.MODE_APPEND);
String text = entryText.getText().toString();
fos.write(text.getBytes());
labelView.setText("文件写入胜利,写入长度:"+text.length());
entryText.setText("");
fos.flush();
fos.close();
openFileInput()的应用(为了读取数据而关上文件)
FileInputStream fis = openFileInput(FILE_NAME);
byte[] readBytes = new byte[fis.available()];
while(fis.read(readBytes) != -1){}
正文完