Android中的数据存取(一)Preference
程序是数据的输入、处理和输出的过程。大容量的数据存取不能仅仅依靠内存的空间,我们必须把他们以文件的形式保存在磁盘等持久的存储介质中。Android作为一种手机程序,不可避免的需要用到数据的存储,有以下几种存取数据的方式:
Preference(配置)、File(文件)、SQLite数据和网络。首先先谈谈Preference
Preference是一种轻量级的数据存取方法,应用场合主要是数据比较少的配置信息。它以“键-值”对的方式将数据保存在一个XML配置文件中。
用到的接口有SharedPreferences和其中的内部接口SharedPreferences.Editor
调用方法:getSharedPreferences(String name,int mode) 第二个参数是操作模式,有三种 MODE_PRIVATE(私有)、MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE.具体代码如下
package com.example.data; import android.os.Bundle; import android.app.Activity; import android.content.SharedPreferences; import android.view.Menu; import android.widget.EditText; public class MainActivity extends Activity { private EditText msg;//声明EditText实例 private static final String Temp_SMS="temp_sms"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);//设置Activity界面布局 setContentView(R.layout.activity_main); msg=(EditText)findViewById(R.id.msg); SharedPreferences pre=getSharedPreferences(Temp_SMS, MODE_WORLD_READABLE); //实例化EditText String content=pre.getString("sms_content", "")//获得内容 msg.setText(content); } protected void onStop(){ super.onStop(); SharedPreferences.Editor editor= getSharedPreferences(Temp_SMS, MODE_WORLD_WRITEABLE).edit(); //获得信息内容并添加到编辑器 editor.putString("sms_content",msg.getText().toString()); editor.commit();//提交编辑内容 } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }