之前总结过SharedPreferences的使用,但写得不是很好,于是删了重新写一篇。先来看看存取SharedPreferences中数据的代码:

/** * 存数据 * * 用getSharedPreferences方法得到一个SharedPreferences对象,"test_SharedPreferences"是这个SharedPreferences的唯一标识 */ SharedPreferences login_account = DemoActivity.this .getSharedPreferences("test_SharedPreferences", Context.MODE_PRIVATE); SharedPreferences.Editor account_editor = login_account.edit();//得到可编辑的对象account_editor account_editor.putString("account", "bob");//向account_editor对象中放入键值对 account_editor.putString("password", "2011"); account_editor.commit();//保存

/** * 拿数据 * * 用getSharedPreferences方法得到一个SharedPreferences对象,"test_SharedPreferences"是这个SharedPreferences的唯一标识 */ SharedPreferences rem_pass = DemoActivity.this.getSharedPreferences( "test_SharedPreferences", Context.MODE_PRIVATE); account = rem_pass.getString("account", null);//得到数据,放入account password = rem_pass.getString("password", null);

系统会在data目录下创建一个xml文件来存放SharedPreferences里面的数据,可以在ddms中找到,这里就不多说了。

ListPreference:http://www.iteye.com/topic/1044916 这个写的挺详细的。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

详解Android首选项框架的使用 :

http://blog.csdn.net/cz285933169/article/details/6528852package com.scott.prefs;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.preference.EditTextPreference;import android.preference.ListPreference;import android.preference.Preference;import android.preference.PreferenceActivity;import android.preference.PreferenceScreen;import android.widget.Toast;public class PrefsActivity extends PreferenceActivity implements Preference.OnPreferenceChangeListener {    private EditTextPreference nickName;    private ListPreference textSize;    private Preference cleanHistory;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        addPreferencesFromResource(R.xml.setttings);        nickName = (EditTextPreference) findPreference("nickName");        textSize = (ListPreference) findPreference("textSize");        cleanHistory = findPreference("cleanHistory");                //为nickName和textSize注册Preference.OnPreferenceChangeListener监听事件        //当值更改时我们可以立即更新summary        nickName.setOnPreferenceChangeListener(this);        textSize.setOnPreferenceChangeListener(this);                initSummary();    }        //初始化summary    private void initSummary() {        nickName.setSummary(nickName.getText());                setTextSizeSummary(textSize.getValue());    }        private void setTextSizeSummary(String textSizeValue) {        if (textSizeValue.equals("0")) {            textSize.setSummary("小");        } else if (textSizeValue.equals("1")) {            textSize.setSummary("中");        } else if (textSizeValue.equals("2")) {            textSize.setSummary("大");        }    }    /**     * 重写PreferenceActivity的onPreferenceTreeClick方法     * 在首选项被点击时 做出相应处理操作     */    @Override    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {        if (preference == cleanHistory) {            new AlertDialog.Builder(this)                    .setTitle("清除历史记录")                    .setMessage("是否真的要清除历史记录?")                    .setPositiveButton("是", new DialogInterface.OnClickListener() {                        @Override                        public void onClick(DialogInterface dialog, int which) {                            //cleaning history...                            Toast.makeText(PrefsActivity.this, "清除成功", Toast.LENGTH_SHORT).show();                        }                    }).setNegativeButton("否", new DialogInterface.OnClickListener() {                        @Override                        public void onClick(DialogInterface dialog, int which) {                            dialog.dismiss();                        }                    }).create().show();        }        return true;    }        /**     * 重写Preference.OnPreferenceChangeListener的onPreferenceChange方法     * 当首选项的值更改时 做出相应处理操作     */    @Override    public boolean onPreferenceChange(Preference preference, Object newValue) {        if (preference == nickName) {            nickName.setSummary(newValue.toString());        } else if (preference == textSize) {            setTextSizeSummary(newValue.toString());        }        return true;    }}


更多相关文章

  1. SQlite数据库简介
  2. Android五大存储之SQLite
  3. Android(安卓)Home按键的监听与屏蔽方式
  4. Android实现开机自动启动Service或app的方法
  5. Dagger2使用介绍(下篇)
  6. Android通过xml文件配置数据库
  7. Android(安卓)平台上SDCard的自动mount的解决方法
  8. 内容为引用别人的文章,备自己学习之用.
  9. android 数据传输

随机推荐

  1. android textview内容超长滚动视图
  2. android:windowSoftInputMode属性详解
  3. Android(安卓)- Android实现定时器的方法
  4. android优秀网站收集中
  5. Android(安卓)5.0 Lollipop SDK下载地址
  6. TextView 滚动
  7. Android(安卓)Button Maker(在线生成andro
  8. 初学Android,Android的项目结构(二)
  9. Android系列之浅谈AndroidGallery控件使
  10. Android图片堆叠效果实现