Android学习之SharePreferences轻量级数据存储
来源:互联网 发布:centos 安装opera 编辑:程序博客网 时间:2024/06/01 08:53
SharePreferences 是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。只能在同一个包内使用,不能在不同的包之间使用,其实也就是说只能在创建它的应用中使用,其他应用无法使用。通过Context.getSharedPreferences方法获取SharedPreferences对象,参数分别为存储的文件名和存储模式。
操作。SharePreferences存储数据是通过获取Editor编辑器对象来操作的。
插入数据:调用Editor.putxxxx方法,两个参数分别为键和值。
获取数据:调用Editor.getxxxx方法,两个参数分别为键和不存在指定键时的默认值。
删除数据:调用Editor.remove方法,参数为指定的键。
清空所有数据:调用Editor.clear方法
上述所有方法调用都要执行Editor.commit方法来提交。
以下的代码实现一个简单的Demo:
package com.scxh.android1502.preference;import android.content.Context;import android.content.SharedPreferences;import com.scxh.android1502.bean.User;/** * 1.获取SharedPreferences对象 2.写入对象数据 3.读取对象数据 4.清空 * */public class SharedPreferencesHelper {private static final String PREFERENCE_NAME = "PREFERENCE_USER_FILE_KEY";private static final String ID = "ID";private static final String NAME = "NAME";private static final String PASSWORD = "PASSWORD";private SharedPreferences mSharedPreferences;private static SharedPreferencesHelper PREFERENCE_HELPER = null;public static SharedPreferencesHelper getInstancePreferencesHelper(Context context) {if (PREFERENCE_HELPER == null) {PREFERENCE_HELPER = new SharedPreferencesHelper(context);}return PREFERENCE_HELPER;}private SharedPreferencesHelper(Context context) {mSharedPreferences = context.getSharedPreferences(PREFERENCE_NAME,Context.MODE_PRIVATE);}/** * 写入user对象数据 * @param user */public void saveUserToPreferences(User user){SharedPreferences.Editor editor = mSharedPreferences.edit();editor.putInt(ID, user.getId());editor.putString(NAME, user.getName());editor.putString(PASSWORD, user.getPassWord());editor.commit();}/** * 读取user对象数据 * @return */public User getUserFromPreferences(){int id = mSharedPreferences.getInt(ID, 0);String name = mSharedPreferences.getString(NAME, "");String passWord = mSharedPreferences.getString(PASSWORD, "");User user = new User();user.setId(id);user.setName(name);user.setPassWord(passWord);return user;}/** * 清空数据 */public void clear(){SharedPreferences.Editor editor = mSharedPreferences.edit();editor.clear();editor.commit();}}
package com.scxh.android1502.preference;import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import com.scxh.android1502.R;import com.scxh.android1502.bean.User;public class SharePreferenceActivity extends Activity {private EditText mUserNameEdit, mPassWordEdit;private Button mConfirmBtn;private static final String PREFERENCE_NAME = "com.scxh.android1502_PREFERENCE_USER_FILE_KEY";private SharedPreferences mPreference;private SharedPreferencesHelper mSharedPreferencesHelper;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_preference1_layout);mUserNameEdit = (EditText) findViewById(R.id.preference_name_edit);mPassWordEdit = (EditText) findViewById(R.id.preference_password_edit);mConfirmBtn = (Button) findViewById(R.id.preference_comfirm_btn);mSharedPreferencesHelper = SharedPreferencesHelper.getInstancePreferencesHelper(this);mConfirmBtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String name = mUserNameEdit.getText().toString();String passWord = mPassWordEdit.getText().toString();User user = new User();user.setName(name);user.setPassWord(passWord);mSharedPreferencesHelper.saveUserToPreferences(user);}});User user = mSharedPreferencesHelper.getUserFromPreferences();if(!user.getName().equals("")){mUserNameEdit.setText(user.getName());}if(!user.getPassWord().equals("")){mPassWordEdit.setText(user.getName());}}/** * 学习PreFerence简单使用 */public void learnPrimaryPreference() {// 获取SharedPreferences对象mPreference = getSharedPreferences(PREFERENCE_NAME, MODE_PRIVATE);mConfirmBtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 写数据到sharepreferenceSharedPreferences.Editor editor = mPreference.edit();editor.putString("USER_NAME", mUserNameEdit.getText().toString());editor.commit();}});// 从sharepreference读取数据String value = mPreference.getString("USER_NAME", "");if (!value.equals("")) {mUserNameEdit.setText(value);}}}
0 0
- Android学习之SharePreferences轻量级数据存储
- Android数据存储之 SharePreferences
- Android数据存储之SharePreferences
- Android数据存储之SharePreferences参数应用
- Android存储之SharePreferences
- android数据存储篇--SharePreferences
- Android数据的四种存储方式 之 SharePreferences
- Android数据存储之SharePreferences的使用总结
- Android 中的数据存储----SharePreferences 存储
- Android之SharedPreference轻量级数据存储
- Android之SharedPreference轻量级数据存储
- Android之SharedPreference轻量级数据存储
- Android之SharedPreference轻量级数据存储
- Android数据的存储方式 SharePreferences
- 数据存储--SharePreferences
- SharePreferences存储数据
- Android开发之路十一-----SharePreferences进行数据存储和SQL数据库
- android学习笔记之SharePreferences简单使用
- getopt getopts
- 【PHP学习】函数
- Twemproxy源码分析之三:其进程以及时间模型
- ndk-lib实现编译并将生成文件拷贝到项目libs中
- 推荐一本Android开发入门书籍
- Android学习之SharePreferences轻量级数据存储
- 开始刷leedtcode day72:Product of Array Except Self
- 周一工作
- [高可用]Ubuntu搭建高可用的MariaDB Galera数据库集群
- JAVA常用类之——Date,Calendar,DateFomat
- ArcGIS版本编辑流程
- 【从零单排之微软面试100题系列】15之二叉树的镜像
- 解决外网无法访问Linux主机上的tomcat问题
- twemproxy源码分析之四:处理流程ji(内容属于转载。这是我看到的一篇十分详尽的分析http://idning.git