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 + ""); } }); } }