Android之SharedPreference轻量级数据存储

SharedPreference主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成。 类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问。

package com.Demo.SharedPreferences;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.EditText;
public class DBSharedPreferences extends Activity {
public static final String SETTING_INFOS = "SETTINGInfos";
public static final String NAME = "NAME";
public static final String PASSWORD = "PASSWORD";
private EditText field_name; //接收用户名的组件
private EditText filed_pass; //接收密码的组件
/** Called when the activity is first created. */
    @Override
    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对象,SETTING_INFOS与SETTING_INFOS.XML文件相对应  
        //效果相当于读取SETTING_INFOS.XML文件,如果文件不存在,则进行创建
        SharedPreferences settings = getSharedPreferences(SETTING_INFOS, 0); //获取一个 SharedPreferences 对象
      //取出保存的NAME,取出改字段名的值,不存在则创建默认为空
        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();
    } //将用户名和密码保存进去
    
}

 在Android系统中, 其配置文件的数据文件 以XML文件的形式保存在  /data/data/PACKAGE_NAME   /shared_prefs  目录下

转载:http://blog.csdn.net/weichaohnu/article/details/5629503

猜你喜欢

转载自284772894.iteye.com/blog/1736371