• Android数据的几种存储方式SharePreferences(轻量的以键值对) 的使用


    SharePreferences 是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。

    我一般用到保存用户的习惯上,当程序下次起来的时候,按照用户的习惯做某件事或者不坐某件事。

    比如用户看电视,而电视总共有1-10个频道,当用户在最后一次设置频道为5的时候,此时我就会把5给记录下来,电视关闭。然后等用户下次再开打电视看的时候,此时的频道就是用户最后设置的5频道,当然这只是一个例子。

    //声明

    public static final String SAVESTRING_INFOS = "SAVESTRING_Infos";
    public static final String SAVE_KEY;


     

    在需要的地方调用存储函数去做数据的存储:

    //调用存储函数
    SaveStringStr("频道5");


     数据的存储:

    //把实参save_str以SAVE_KEY的键存储

    private void SaveStringStr(String save_str)

    {

        Context ctx = MainActivity.this;
    SharedPreferences settings = ctx.getSharedPreferences(SAVESTRING_INFOS, 0);


    SharedPreferences.Editor editor = settings.edit();

    editor.putString( SAVE_KEY, save_str);
    editor.commit();
    }

    接着就是在读取所存储键值对然后根据值做相应处理

    //下次使用该键值对时使用

    //

    SharedPreferences settings = getSharedPreferences(SAVESTRING_INFOS, 0); // 获取一个SharedPreferences对象

    String getsave_str = settings.getString(SAVE_KEY, "");
    if(getsave_str.equals("频道5"))
    {

      //执行想做的动作


    }

    但是SharedPreferences也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据类型,比如其无法进行条件查询等。

    extends Activity可以正常使用如果是extends Dialog则会找不到 getSharedPreferences(,); 解决方法还没找到。

     几种存储方式:

    //Shared Preferences
    //Store private primitive data in key-value pairs. 轻量的以键值对的形式进行存储
    //Internal Storage
    //Store private data on the device memory. 设备上的文件存储
    //External Storage
    //Store public data on the shared external storage. 外部的文件存储,一般指存储在SD卡上的文件,优势是不随程序卸载而删除
    //SQLite Databases
    //Store structured data in a private database. 这个比较常见了数据库
    //Network Connection
    //Store data on the web with your own network server. 网络获取

    参考:http://www.cnblogs.com/wisekingokok/archive/2011/09/16/2177833.html

  • 相关阅读:
    邻接表(spfa模版)
    翻咸鱼(???)
    求逆序数
    Symmetry CSU
    Highways
    LightOJ
    G
    最长的斜坡。。。。
    快速幂取模
    二分
  • 原文地址:https://www.cnblogs.com/wainiwann/p/2387811.html
Copyright © 2020-2023  润新知