Shared Preference (分享首选项) 详解


本文地址:http://blog.csdn.net/caroline_wendy/article/details/24454963


Shared Preference将一组原始数据的NVP(name-value pair)存储为命名首选项(named preference).


创建SharedPreferences类使用getSharedPreferences(), 并传入要SharedPreferences的名称;


修改SharedPreferences类使用SharedPreferences.Editor类, 通过调用SharedPreferences类的edit()方法, 获取对象;

使用SharedPreferences.Editor类的put<type>()方法进行修改相关的名称(name)的值(value);

使用SharedPreferences.Editor类的apply()方法进行异步保存;

注意:保存可以使用apply()方法和commit()方法, 但是apply()方法是首选.

apply()方法是异步保存, commit()方法是同步保存, 需要阻止调用线程, 判断返回, 所以优先选择apply()方法.


访问SharedPreferences类, 使用getSharedPreferences()方法, 即与创建类似;

使用SharedPreferences类的get<type>()方法, 返回保存的值, 需要一个命名(name), 即键(key), 和一个默认值, 当没有值时使用默认.

使用SharedPreferences类的getAll()方法, 返回所有映射, 可以通过contains()方法, 返回boolean类型, 判断是否存在.


具体参考Android API:http://[防禁用]developer.android.com/guide/topics/data/data-storage.html


代码:

package mzx.spike.earthquake.app;import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import java.util.Map;/** * Created by Spike on 2014/4/25. */public class Test extends Activity {    public static final String MY_PREFS = "MyPrefs";    @Override    protected void onCreate(Bundle state){        super.onCreate(state);        // Restore preferences        SharedPreferences mySharedPreferences = getSharedPreferences(MY_PREFS, Activity.MODE_PRIVATE);        SharedPreferences.Editor editor = mySharedPreferences.edit();        editor.putBoolean("isTrue", true);        editor.putFloat("lastFloat", 1f);        editor.putInt("wholeNumber", 2);        editor.putLong("aNumber", 31);        editor.putString("textEntryValue", "Not Empty");        editor.commit();        boolean isTrue = mySharedPreferences.getBoolean("isTrue", false);        float lastFloat = mySharedPreferences.getFloat("lastFloat", 0f);        int wholeNumber = mySharedPreferences.getInt("wholeNumber", 1);        long aNumber = mySharedPreferences.getLong("aNumber", 0);        String textEntryValue = mySharedPreferences.getString("textEntryValue", "");        Map<String, ?> allPreferences = mySharedPreferences.getAll();        boolean containsLastFloat = mySharedPreferences.contains("lastFloat");    }}







更多相关文章

  1. Android(安卓)ApiDemos示例解析(122):Views->Grid->2. Photo Gri
  2. Android开发常用:Fresco加载图片的几种方式
  3. 复习android 的大喇叭~~~
  4. android 设置状态栏颜色
  5. 获取Android系统时间是24小时制还是12小时制
  6. Android(安卓)开发之 Drawable系列
  7. 关于Android(安卓)获得图片的总结
  8. MTK android配置LCD背光和LED,调试方法
  9. Android(安卓)kernel x86 编译方法

随机推荐

  1. Android深入浅出之Audio
  2. Android(安卓)APK瘦身之Android(安卓)Stu
  3. NCNN: 应用于手机上的卷积加速
  4. Android与H5互调
  5. android 禁用或开启四大组件setComponent
  6. 文章标题
  7. 我的android 第19天 - 上下文菜单
  8. 【Android(安卓)应用开发】 Android(安卓
  9. Android(安卓)电子罗盘 --指南针(方向传感
  10. 浅析android通过jni控制service服务程序