Android 数据存储
2010-04-10 04:46:00 来源:WEB开发网核心提示:public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //Find VIew field_name = (EditText) findVie
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.main); //Find VIew
field_name = (EditText) findViewById(R.id.name); //首先获取用来输入用户名的组件 filed_pass =
(EditText) findViewById(R.id.password); //同时也需要获取输入密码的组件 // Restore preferences
SharedPreferences settings = getSharedPreferences(SETTING_INFOS, 0);
//获取一个SharedPreferences对象 String name = settings.getString(NAME, "");
//取出保存的NAME String password = settings.getString(PASSWORD, ""); //取出保存的PASSWORD
//Set value field_name.setText(name); //将取出来的用户名赋予field_name
filed_pass.setText(password); //将取出来的密码赋予filed_pass } @Override protected void
onStop(){ super.onStop(); SharedPreferences settings =
getSharedPreferences(SETTING_INFOS, 0); //首先获取一个SharedPreferences对象
settings.edit() .putString(NAME, field_name.getText().toString())
.putString(PASSWORD, filed_pass.getText().toString()) .commit(); } //将用户名和密码保存进去
}
SharedPreferences保存到哪里去了?
SharedPreferences是以XML的格式以文件的方式自动保存的,在DDMS中的File Explorer中展开到/data/data/< package
name>/shared_prefs下,以上面这个为例,可以看到一个叫做SETTING_Infos.xml的文件
注意:Preferences只能在同一个包内使用,不能在不同的包之间使用。
二.文件存储方式
在Android中,其提供了openFileInput 和 openFileOuput 方法读取设备上的文件,下面看个例子代码,具体如下所示:
String FILE_NAME = "tempfile.tmp"; //确定要操作文件的文件名
FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE); //初始化
FileInputStream fis = openFileInput(FILE_NAME); //创建写入流
上述代码中两个方法只支持读取该应用目录下的文件,读取非其自身目录下的文件将会抛出异常。需要提醒的是,如果调用
FileOutputStream 时指定的文件不存在,Android 会自动创建它。另外,在默认情况下,写入的时候会覆盖原文件内容,如果想把
更多精彩
赞助商链接