zoukankan      html  css  js  c++  java
  • Android studio SharedPreferences轻量数据存储

    SharedPreferences轻量级数据存储

    SharedPreferences是以键值对来存储应用程序的配置信息的一种方式,它只能存储基本数据类型。例如,默认欢迎语,登录用户名和密码,音乐播放的进度条保存等。一个程序的配置文件仅可以在本应用程序中使用,或者说只能在同一个包内使用,不能在不同的包之间使用。 实际上SharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下,可以通过cat命令查看。

    SharedPreferences 的用法

    在某个地方写入数据:

    1
    2
    3
    SharedPreferences.Editor mEditor = msharedPreference.edit();
    mEditor.putInt("counter", ++counter);
    mEditor.commit();

    在某个地方获得数据:

    1
    2
    SharedPreferences msharedPreference = getSharedPreferences("testSharedPreference",MODE_PRIVATE);       
    int counter = msharedPreference.getInt("counter"0);     

    SharedPreferences相关函数

    public abstract SharedPreferences getSharedPreferences (String name, int mode);
    name:表示保存后 xml 文件的名称
    mode:表示 xml 文档的操作权限模式(私有,可读,可写),使用0或者MODE_PRIVATE作为默认的操作权限模式。


    1.数据读取:


    通过SharedPreferences对象的键key可以获取到对应key的键值。对于不同类型的键值有不同的函数:getBoolean,getInt,getFloat,getLong.
    public abstract String getString (String key, String defValue);
    这里说明一下:如果没有key值的话,那函数将会返回defValue的值


    2.数据存入:


    数据的存入是通过SharedPreferences对象的编辑器对象Editor来实现的。通过编辑器函数设置键值,然后调用commit()提交设置,写入xml文件。
    public abstract SharedPreferences.Editor edit ();
    public abstract SharedPreferences.Editor putString (String key, String value);
    public abstract boolean commit ();

    SharedPreferences例子程序(1)

    记录进入应用的次数:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    package com.sanjinxiong.testSharedPerence;
      
    import android.app.Activity;
    import android.os.Bundle;
    import android.content.SharedPreferences;
    import android.widget.TextView;
      
    public class TestSharedPerferenceActivity extends Activity {
              
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
              
            SharedPreferences msharedPreference = getSharedPreferences("testSharedPreference",MODE_PRIVATE);
              
            int counter = msharedPreference.getInt("counter"0);       
            TextView textview = (TextView)findViewById(R.id.textView1);
            textview.setText("The App has been started "+counter+" times");
              
            SharedPreferences.Editor mEditor = msharedPreference.edit();
            mEditor.putInt("counter", ++counter);
            mEditor.commit();
        }
    }

    说明:

    SharedPreferences的获取有两种方法,一是上面提到的通过 Activity自带(本质来讲是Context的)的getSharedPreferences方法,可以得到SharedPreferences对 象。

    这种方法的好处是可以指定保存的xml文件名。

    另一种是通过 PreferenceManager.getSharedPreferences(Context)获取SharedPreferences对象。

    这种方 法不能指定保存的xml文件名,文件名使用默认的:<package name>+"_preferences.xml"的形式,

    不过如果在一个包里面采用这种方式需要保存多个这样的xml文件,可能会乱掉。

    建议采用第一种指定xml文件名的形式。

  • 相关阅读:
    coalesce搭配nullif使用
    阿里云服务器数据备份到本地
    MSSQL 删除数据库表数据
    MSSQL 删除重复数据
    MSSQL 字段分组拼接
    MySql 字段分组拼接
    获取格式字符串第idx个值及实例
    针对字符串长度超过8000的处理
    【21】责任链模式
    【20】策略者模式(Strategy Pattern)
  • 原文地址:https://www.cnblogs.com/1329197745a/p/14905695.html
Copyright © 2011-2022 走看看