SharePreferences是android中的一种存储方式,以键值对形式存储。
存储过程:
1、实例化SharePreferences对象
SharePreferences sharePreferences = getSharedPreferences("myPreference", MODE_PRIVATE);
第一个参数为唯一确定该sharePreferences的key,第二个参数为存储模式
MODE_PRIVATE:只允许该应用程序读取数据,若该key已经存在,则覆盖其内容;若不存在,则创建该key存储数据
MODE_APPEND:只允许该应用程序读取数据,若该key已经存在,则追加存储数据;若不存在,则创建该key存储数据
MODE_WORLD_READABLE:允许应用程序间共享数据,以只读方式,不准写入。
MODE_WORLD_WRITABLE:允许应用程序间共享数据,已可写方式,允许读写。
2、实例化编辑器并写入数据
Editor editor = sharePreferences.edit();
editor.putString("key",value);
editor.commit(); //必须最后使用该方法确认写入
3、读取该sharePreferences中存储的数据
String name = sharePreferences.getString("key", "default value");
此处参数key要对应存储时存入的key,类型要统一,default value是当查不到该key时,默认取出的数据
MainActivity.java
<pre name="code" class="java">btn_write.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年mm月dd日");
String date = sdf.format(new Date());
editor = sharePreferences.edit();
editor.putString("date", date);
editor.putInt("number", (int) (Math.random() * 100));
editor.commit();
}
});
package com.fukang.sharepreferencetest;import java.text.SimpleDateFormat;import java.util.Date;import android.app.Activity;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.preference.Preference;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {SharedPreferences sharePreferences; //在此处进行各变量的声明TextView textView;Button btn_write;Button btn_read;Editor editor;//用来向SharePreferences中写入数据@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView = (TextView) findViewById(R.id.tv);btn_read = (Button) findViewById(R.id.btn_read);btn_write = (Button) findViewById(R.id.btn_write);sharePreferences = getSharedPreferences("myPreference", MODE_PRIVATE);//默认模式btn_read.setOnClickListener(new OnClickListener() {//读取数据按钮监听器@Overridepublic void onClick(View v) {// TODO Auto-generated method stubString date = sharePreferences.getString("date", "无输入数据");//从SharePreferences中读取数据int num = sharePreferences.getInt("number", 0);textView.setText("今天日期是:" + date + " 产生的随机数是:" + num);}});btn_write.setOnClickListener(new OnClickListener() {//写入数据按钮监听器@Overridepublic void onClick(View v) {// TODO Auto-generated method stubSimpleDateFormat sdf = new SimpleDateFormat("yyyy年mm月dd日");//日期格式化对象String date = sdf.format(new Date());//得到格式化日期editor = sharePreferences.edit();//实例化编辑器editoreditor.putString("date", date);//使用editor写入数据editor.putInt("number", (int) (Math.random() * 100));//产生随机整数editor.commit();//确认执行存储}});}}