SharedPreferences数据存储
来源:互联网 发布:浙江移动网络运营岗位 编辑:程序博客网 时间:2024/06/05 14:13
Android数据存储有几种方式:
1、SharedPreferences是使用键值对保存数据,适用于基本数据类型:int,float,long,String,boolean类型;
2、SQLite数据库存储,是一款小巧,开源的数据库。
3、网络数据保存。
4、文件
5、contentProvider
SharedPrefernces详细说明:
SharedPrefernces preference= Context.getSharedPreferences("文件名称", "控制权限");
控制权限:
Context.MODE_PRIVATE:表示该文件只能被自身应用调用,
MODE_WORLD_READABLE: 表示该文件可以被其他应用程序读取
MODE_WORLD_WRITEABLE:表示该文件可以被其他应用程序写入
读取文件:
preference.getString(key, value);//读取String类型
preference.getInt(key, value);//读取Int类型preference.getBoolean(key, value);//读取Boolean类型
preference.getFloat(key, value);//读取Float类型
preference.getLong(key, value);//读取Long类型
preference.getAll(key, value);//读取文件中所有值,返回Map<String ,?>
写入文件:
SharedPreferences.Editor editor = preferences.edit();//取得编辑
editor.putString(key, value);//提交数据editor.putLong(key, value);
editor.putInt(key, value);
editor.putFloat(key, value);
editor.putBoolean(key, value);
editor.remove(key);//删除某个值
editor.commit();//执行后,文件不存在则创建文件并保存,文件存在则将数据保存到文件中。
事件监听:
//注册事件
preference.registerOnSaredPreferenceChangeListener(newonSharedPreferenceChangeListener());
preference.commit();//不要忘记commit,否则不会触发监听器
//解锁注册,不会再响应改变
preference.registerOnSaredPreferenceChangeListener(newonSharedPreferenceChangeListener());
代码:
- package com.learnsharedpreference;
- import android.os.Bundle;
- import android.app.Activity;
- import android.content.SharedPreferences;
- import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
- import android.util.Log;
- import android.view.Menu;
- public class MainActivity extends Activity {
- private OnSharedPreferenceChangeListener listener = new OnSharedPreferenceChangeListener() {
- @Override
- public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
- String key) {
- // TODO Auto-generated method stub
- Log.e("ChangeListener", "key: " + key + " = " + sharedPreferences.getString(key, "value"));
- }
- };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- // 如果mytest.xml文件不存在,则会在editor.commit()时创建并保存数据。如果mytest.xml存在,
- // 则会在editor.commit()时保存数据。
- SharedPreferences preference = this.getSharedPreferences("mytest", this.MODE_PRIVATE);
- SharedPreferences.Editor editor = preference.edit();
- editor.putBoolean("boolean", true);
- editor.putString("string", "value");
- editor.putFloat("float", 0.0f);
- editor.putInt("int", 10);
- editor.putLong("long", 25648523);
- editor.commit(); //不能忘记,否则不会创建文件和保存数据
- Log.e("ReadSharedRefernces", "string:" + preference.getString("string", ""));
- Log.e("ReadSharedRefernces", "int:" + preference.getInt("int", 1));
- Log.e("ReadSharedRefernces", "boolean:" + preference.getBoolean("boolean", false));
- Log.e("ReadSharedRefernces", "flaot:" + preference.getFloat("float", 0.1f));
- Log.e("ReadSharedRefernces", "long:" + preference.getLong("long", 23));
- preference.registerOnSharedPreferenceChangeListener(listener); //注册事件
- editor = preference.edit();
- editor.putString("testListener", "success");
- editor.commit();//不要忘记commit(),否则不会触发监听器。
- preference.unregisterOnSharedPreferenceChangeListener(listener); //解除注册,不会再相应改变
- editor = preference.edit();
- editor.putString("name", "SharedPreference");
- editor.commit();//已经解锁注册,所以更改数据时不会触发监听器
- }
- }
- 数据存储SharedPreferences
- 数据存储之 SharedPreferences
- 数据存储之SharedPreferences .
- Android数据存储-SharedPreferences
- SharedPreferences轻量级数据存储
- 本地数据存储----SharedPreferences
- Android数据存储---SharedPreferences
- SharedPreferences存储数据
- Android数据存储---SharedPreferences
- android SharedPreferences数据存储
- SharedPreferences进行数据存储
- SharedPreferences数据存储方式
- SharedPreferences存储数据
- Android 数据存储 -- SharedPreferences
- SharedPreferences存储读取数据
- 存储数据のSharedPreferences
- android SharedPreferences 数据存储
- SharedPreferences数据存储
- VR制作
- 【WebService】2.CXF概述和使用CXF开发WebService服务器端
- Spring DI
- UniversalImageLoader+HttpClient+RecycleView总结
- 点击屏幕隐藏键盘的正确写法
- SharedPreferences数据存储
- php文件操作
- 用JAVA实现 hex字符串转出字符串
- iOS 【上架问题】ERROR ITMS-90086
- Matlab 集群计算平台搭建
- html浮动,相对,绝对布局
- Django中model使用迁移(migrate)部分数据库会遇到的坑
- 数据库范式实例
- JavaWeb伪静态