`
dcj3sjt126com
  • 浏览: 1871380 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SharedPreferences对数据的存储

 
阅读更多

SharedPreferences简介:                                                                         

      SharedPreferences是Android平台上一个轻量级的存储类,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息,比如窗口状态,一些小型自定义数据等。其存储位置在/data/data/<包名>/shared_prefs目录下,可以通过DDMS--FileExplorer下查看(选中文件点击DDMS右上角的导出文件)。

   数据的存储:                                                                                             

   1.构造函数:   

如示例,一般常用的构造函数为2个参数

第一个为sp的名称,第二个一般为权限比如Activity.MODE_PRIVATE, MODE_APPEND, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Calc extends Activity {
    public static final String PREFS_NAME = "MyPrefsFile";
 
    @Override
    protected void onCreate(Bundle state){
       super.onCreate(state);
       . . .
 
       // Restore preferences
       SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
       boolean silent = settings.getBoolean("silentMode", false);
       setSilent(silent);
    }

  

   2.数据的存储以及修改:   

使用SharedPreferences.Editor类来构造一个编辑器进行存储数据

1
2
3
4
5
6
7
8
add.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                String str_name = (String) name.getText();
                String str_path = (String) text.getText();
                SharedPreferences Addresses = getSharedPreferences(PREFS_NAME,Activity.M );
                SharedPreferences.Editor editor = Addresses.edit();//通过SharedPreferences.edit()来对Editor进行初始化
1
editor.putString(str_name,str_path);//添加数据 <br>                                                            editor.commit(); //数据添加后必须提交才会修改xml文件 <br>                               Toast.makeText(getApplicationContext(), "Successed", Toast.LENGTH_LONG).show(); <br>                         } <br>                        });

删除数据

1
2
3
4
5
6
7
8
9
10
public boolean onItemLongClick(AdapterView<?> parent, View view,
                    int position, long id) {
                SharedPreferences Addresses = getSharedPreferences(PREFS_NAME,
                        Activity.MODE_PRIVATE);
                SharedPreferences.Editor editor = Addresses.edit();    //通过SharedPreferences.edit()来对Editor进行初始化
                editor.remove((String) listview.getSelectedItem());    //删除相应的数据
                                           editor.commit();   //同样需要提交
                                }
 
        });

   3.一些常用的方法:   

void apply()
Commit your preferences changes back from this Editor to the SharedPreferences object it is editing.
 SharedPreferences.Editor clear()
Mark in the editor to remove all values from the preferences.
boolean commit()
Commit your preferences changes back from this Editor to the SharedPreferences object it is editing.
 SharedPreferences.Editorput Boolean(String key, boolean value)
Set a boolean value in the preferences editor, to be written back once commit() or apply() are called.
 SharedPreferences.Editor putInt(String key, int value)
Set an int value in the preferences editor, to be written back once commit() or apply() are called.
 SharedPreferences.Editor putString(String key, String value)
Set a String value in the preferences editor, to be written back once commit() or apply() are called.
 SharedPreferences.Editor putStringSet(String key, Set<String> values)
Set a set of String values in the preferences editor, to be written back once commit() is called.
 SharedPreferences.Editor remove(String key)
Mark in the editor that a preference value should be removed, which will be done in the actual preferences once commit() is called.

 

   数据的读取:                                                                                            

SharedPreferences.Editor edit()
Create a new Editor for these preferences, through which you can make modifications to the data in the preferences and atomically commit those changes back to the SharedPreferences object.
Map<String, ?> getAll()
Retrieve all values from the preferences.
boolean getBoolean(String key, boolean defValue)
Retrieve a boolean value from the preferences.
 String getString(String key, String defValue)
Retrieve a String value from the preferences.
 Set<String> getStringSet(String key, Set<String> defValues)
Retrieve a set of String values from the preferences.
void registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener)
Registers a callback to be invoked when a change happens to a preference.
void unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener)
Unregisters a previous callback.
 

   使用getAll()读取所有数据存储在一个HashMap中:

1
2
3
        listview = (ListView) findViewById(R.id.lv);
SharedPreferences Addresses = getSharedPreferences(PREFS_NAME, 0);
listItems = (HashMap<String, Object>) Addresses.getAll();

  还是挺好用的哈~~

分享到:
评论

相关推荐

    android 使用SharedPreferences对数据存储/删除/读取/文件删除

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储应用程序的配置信息或者简单数据。它提供了一种键值对的方式,使得数据的存储、删除和读取变得非常方便。下面我们将...

    使用SharedPreferences进行数据存储

    以上就是关于`SharedPreferences`在Android中进行数据存储的详解,希望对你理解和使用这个工具有所帮助。如果想了解更多细节,可以参考给定的博客链接:[博客链接](https://hack-zhang.iteye.com/blog/1265370)。

    Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储)

    本教程将详细介绍Android中的三种主要数据存储方式:SharedPreferences存储、内部文件存储以及数据库存储。 1. SharedPreferences存储 SharedPreferences是Android提供的一种轻量级的数据存储方式,用于保存应用...

    实验九 使用SharedPreferences存储简单数据

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储应用程序中的配置信息或者用户的一些简单设置。这个实验旨在让你了解并掌握如何使用SharedPreferences来存储和读取...

    SharedPreferences数据存储和读取实例

    - `layout11`可能展示SharedPreferences数据存储和读取的完整流程,例如创建一个设置界面,用户可以在其中更改一些应用设置,然后在另一个界面显示这些设置的当前状态。 4. 使用示例: ```java ...

    Android使用SharedPreferences进行数据存储,缓存ID等数据

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储机制,主要用于存储应用程序的配置信息或者临时数据,如用户偏好设置、登录状态等。它提供了简单键值对的存储方式,非常适合用来缓存像...

    Android数据存储--SharedPreferences存储

    SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储少量简单的键值对数据,如配置设置、用户偏好等。在本篇博文中,我们将深入探讨如何使用SharedPreferences进行数据存储,并通过源码分析其...

    用SharedPreferences方式储存数据

    在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储一些简单的配置信息,如用户偏好设置、应用的状态信息等。它采用键值对的形式来保存数据,支持基本数据类型如布尔型...

    Sharedpreferences存储数据的使用方法_完整Demo_AndroidStudio

    Shared Preferences是Android提供的一种轻量级的数据存储机制,常用于保存应用程序中的配置设置或简单的键值对数据。它以XML格式存储,适合保存少量非结构化的数据。在这个"Sharedpreferences存储数据的使用方法_...

    Android数据存储之SharedPreferences

    SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储简单的小型数据,如偏好设置、用户选项等。在本项目中,开发者已经根据官方文档编写了关于SharedPreferences的代码示例,你可以通过下载来...

    数据存储之SharedPreferences存储

    前面呢,我们讲了文件的存储,文件的存储方式不适合保存一些比较复杂的文本数据。因此,我们来学习一下...SharedPreferences支持不同类型的数据存储,如果你存储的是整型,那你读取出来的也是整型,你存储的是浮点型,

    SharedPreferences存取list集合

    在Android开发中,SharedPreferences通常用于存储轻量级的数据,如用户偏好设置,这些数据通常...但请注意,这并不是SharedPreferences的最佳实践,对于复杂的、结构化的数据,应该考虑使用更适合的数据存储解决方案。

    读写SharedPreferences中的数据

    在本文中,我们将深入探讨如何在Android中读写SharedPreferences数据,以及其内部的工作原理。 首先,让我们了解一下如何读取SharedPreferences中的数据。在Android中,通常我们会在需要使用SharedPreferences的...

    SharedPreferences文件在不同应用之间数据共享

    SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于存储应用程序的简单配置信息,如布尔值、整型、浮点型、字符串等基本类型及其数组。通常,SharedPreferences数据是私有的,即每个应用只能...

    Android本地存储SharedPreferences详解

    SharedPreferences数据保存在: /data /data/&lt;package&gt; /shared_prefs 文件夹下,以XML格式保存,根元素为:。文件名称为获取SharedPreferences实例时传递的參数值。 &lt;string name=key&gt; value 获取实例 ...

    Android开发之数据存储的四种方式之SharedPreferences

    Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...

    Android数据持久化之二:SharedPreferences 存储

    数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,...SharedPreferences 是使用键值对的方式来存储数据的,使用 SharedPreferences来进行数据持久化要比使用文件方便很多。

    Android25闹钟项目——ArrayAdapter动态添加数据,显示数据,删除数据SharedPreferences存储数据,读取数据

    在Android应用开发中,ArrayAdapter是一种...而SharedPreferences则提供了便捷的配置数据存储机制,使得应用能够保存用户的偏好设置。通过结合这两者,"Android25闹钟项目"实现了动态管理闹钟并保持数据持久化的功能。

    打卡日程,小作业,SharedPreferences存储数据

    在Android应用开发中,数据管理是一项重要的任务,尤其是在涉及到用户数据持久化时。"打卡日程,小作业,SharedPreferences...在进行小作业时,可以锻炼对SharedPreferences的掌握,同时提升对Android数据存储的理解。

    刘氏一键拨号app[SharedPreferences存储数据]

    SharedPreferences是Android SDK提供的一种轻量级的数据存储方式,主要用于存储简单的键值对,如布尔值、整型、浮点型、字符串以及字符串集合等。它的操作简便,适合存储用户偏好设置或者临时状态信息,如登录状态、...

Global site tag (gtag.js) - Google Analytics