您的位置:首页 > 移动开发 > Android开发

Android SharedPreferences的使用

2015-09-14 17:04 513 查看
SharePreferences是用来存储一些简单配置信息的一种机制,使用Map数据结构来存储数据,以键值对的方式存储,采用了XML格式将数据存储到设备中。
创建的存储文件保存在/data/data/<package name>/shares_prefs文件夹下。
2.使用。

通过Context.getSharedPreferences方法获取SharedPreferences对象,参数分别为存储的文件名和存储模式。

[java] view
plaincopy

// 获取SharedPreferences对象

SharedPreferences sp = getSharedPreferences(DATABASE, Activity.MODE_PRIVATE);

// 获取Editor对象

Editor editor = sp.edit();

3.操作。SharePreferences存储数据是通过获取Editor编辑器对象来操作的。

插入数据:

调用Editor.putxxxx方法,两个参数分别为键和值。

获取数据:

调用Editor.getxxxx方法,两个参数分别为键和不存在指定键时的默认值。

删除数据:

调用Editor.remove方法,参数为指定的键。

清空所有数据:

调用Editor.clear方法

上述所有方法调用都要执行Editor.commit方法来提交。
简单实例:

import java.text.SimpleDateFormat;
import java.util.Date;
import com.lb.sharedpreferences.R;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class SimpleSharedPreferences extends Activity{
Button bt1, bt2 ;
SharedPreferences preferences ;
SharedPreferences .Editor editor ;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout. activity_simple_sharedpreferednces );
bt1 =
(Button) findViewById(R.id.button1);
bt2 =
(Button) findViewById(R.id.button2);

preferences =
getSharedPreferences("libiao", MODE_WORLD_READABLE); //得到上下文对象的preferences
editor = preferences .edit(); //得到写入的editor

bt1.setOnClickListener(new OnClickListener()
{

@Override
public void onClick(View
v) {
// 读取字符串数据
String msg = preferences.getString("time" , null);
// 读取int类型的数据
int rand
= preferences .getInt("random",
0);
String result=msg== null?"暂时没有写入数据" :"写入的时间为" +msg+"\n生成的随机数为"+rand;
Toast. makeText(getApplicationContext(), result, Toast.LENGTH_SHORT ).show();
}
});
bt2.setOnClickListener(new OnClickListener()
{

@Override
public void onClick(View
v) {
SimpleDateF ormat sdf = new SimpleDateFormat("yyyy年MM月dd日" +"hh:mm:ss" );
//存放当前时间
editor.putString("time" ,
sdf.format(new Date()));
//存放随机数
editor.putInt("random" ,
(int) (Math.random()*100));
//调用conmmit()方法提交数据
editor.commit();
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: