android 中 SharedPreferences 的使用!
之前总结过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; }}
更多相关文章
- SQlite数据库简介
- Android五大存储之SQLite
- Android(安卓)Home按键的监听与屏蔽方式
- Android实现开机自动启动Service或app的方法
- Dagger2使用介绍(下篇)
- Android通过xml文件配置数据库
- Android(安卓)平台上SDCard的自动mount的解决方法
- 内容为引用别人的文章,备自己学习之用.
- android 数据传输