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();
}
});
}
}
创建的存储文件保存在/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();
}
});
}
}
相关文章推荐
- 开源中国 OsChina Android 客户端源码分析(9)下载APK功能
- Android Studio五--Gradle命令与第三方包
- Android Studio四--Gradle基础
- Android 自定义控件---SpreadView
- Android系统版本与API Level对照表
- Android Studio二--基本设置与运行
- Android Canvas绘图详解(图文)
- Android自定义圆形进度条
- Android Sqlite 导入外部数据库
- Android中的自定义圆形头像
- Android绘图深度解析
- Android(java)学习笔记247:ContentProvider使用之利用ContentProvider备份和还原手机短信(掌握)
- ADB+adbWireless 抛开USB调试,接入无线调试
- Error:Execution failed for task ':sample:dexDebug'. > com.android.ide.common.process.ProcessExceptio
- 如何一步步实现在Android平台下运用OpenGl
- Android SQLite使用
- Android Makefile 文件讲解
- Android自定义View原理详解02
- android 自定义View原理详解01
- Android OpenGL 学习笔记