SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用来存储一些简单的配置信息,例如:默认的欢迎语,登录用户名和密码等。其以键值对的方式存储,使得我们能很方便济宁读取和存入。数据以xml文件形式存储到data目录下。
SharedPreferences对象本身只能获取数据而不支持存储和修改数据,存储和修改数据时通过Editor对象实现的。
SharedPreferences的使用步骤:
1、获取SharedPreferences对象;
2、获得SharedPreferences.Editot对象;
3、通过Editor的接口的putString、putInt、putBoolean、putFloat等方法以key-value方式存储不同的数据类型;
4、通过Editor接口的commit方法提交数据,达到最后保存的目的。
package com.example.sharedpreferencesdemo;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity
{
SharedPreferences sharedPreferences;
Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
Button button = (Button) findViewById(R.id.btn);
//获取SharedPreferences对象,并将信息私有化,禁止其他应用访问
sharedPreferences = getSharedPreferences("userMsg", MODE_PRIVATE);
//获取Editor
editor = sharedPreferences.edit();
//以键值对的形式存储数据
editor.putString("username", "张三");
editor.putInt("age", 20);
editor.putBoolean("marry", false);
editor.putLong("date", System.currentTimeMillis());
//提交数据
editor.commit();
Log.e("button", button.toString());
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0)
{
/*
* 获取数据,第一个参数为数据存储的键,第二个参数为当数据为空是设置的默认数据,
* 如果数据没有存储上就默认“暂无数据”
*/
String name = sharedPreferences.getString("username", "暂无数据");
int age = sharedPreferences.getInt("age",0);
boolean marry = sharedPreferences.getBoolean("marry", true);
Log.e("name", name);
Log.e("age", age + "");
Log.e("marry", marry + "");
}
});
}
}