zoukankan      html  css  js  c++  java
  • android中sharedPreferences的用法

    SharedPreferences介绍:
     

    做软件开发应该都知道,很多软件会有配置文件,里面存放这程序运行当中的各个属性值,由于其配置信息并不多,如果采用数据库来存放并不划算,因为数据库连接跟操作等耗时大大影响了程序的效率,因此我们使用键值这种一一对应的关系来存放这些配置信息。SharedPreferences正是Android中用于实现这中存储方式的技术。

    SharedPreferences的使用非常简单,能够轻松的存放数据和读取数据。SharedPreferences只能保存简单类型的数据,例如,String、int等。一般会将复杂类型的数据转换成Base64编码,然后将转换后的数据以字符串的形式保存在 XML文件中,再用SharedPreferences保存。

     
        使用SharedPreferences保存key-value对的步骤如下:

      (1)使用Activity类的getSharedPreferences方法获得SharedPreferences对象,其中存储key-value的文件的名称由getSharedPreferences方法的第一个参数指定。

      (2)使用SharedPreferences接口的edit获得SharedPreferences.Editor对象。

      (3)通过SharedPreferences.Editor接口的putXxx方法保存key-value对。其中Xxx表示不同的数据类型。例如:字符串类型的value需要用putString方法。

      (4)通过SharedPreferences.Editor接口的commit方法保存key-value对。commit方法相当于数据库事务中的提交(commit)操作。

    具体代码的书写流程为:

    A、存放数据信息

    1、打开Preferences,名称为setting,如果存在则打开它,否则创建新的Preferences

    SharedPreferences settings = getSharedPreferences(“setting”, 0);

    2、让setting处于编辑状态

    SharedPreferences.Editor editor = settings.edit();

    3、存放数据

    editor.putString(“name”,”ATAAW”);
    editor.putString(“URL”,”ATAAW.COM”);

    4、完成提交

    editor.commit();

    B、读取数据信息

    1、获取Preferences

    SharedPreferences settings = getSharedPreferences(“setting”, 0);

    2、取出数据

    String name = settings.getString(“name”,”默认值”);
    String url = setting.getString(“URL”,”default”);

    以上就是Android中SharedPreferences的使用方法,其中创建的Preferences文件存放位置可以在Eclipse中查看:

    DDMS->File Explorer /<package name>/shared_prefs/setting.xml

    主要代码 具体如下(仅供参考):

    在onCreate方法中调用restorePrefs()方法:

    //读取     功能的实现
        private void restorePrefs() {
      // TODO Auto-generated method stub
         //SharedPreferences是一种轻量级的数据存储方式.是以键值对来存储应用程序的
           //配置信息的一种方式,它只能存储基本数据类型。
         //声明一个优先级设置 类型 settings,载入配置文件


      SharedPreferences settings = getPreferences(BMI.MODE_PRIVATE);

      //使用getXXX函数从优先级设置读取不同类型的内容 得到优先级设置参数的内容


      String pref_height = settings.getString(PREF_HEIGHT, "");

      //此一句为唤醒记忆语句


       field_height.setText(pref_height);
       field_weight.requestFocus();//设置焦点字段 到“体重”字段上 用户只需直接输入体重数字就可以了

     }
       
        //存储    在Activity每次变暗,也就是离开当前屏幕时,记住设置的身高值     即 存储优先级设置
        protected void onPause()
        {
         super.onPause();
         Log.v("BMI", "onPause1");
         //获得SharedPreferences对象


         SharedPreferences settings = getPreferences(BMI.MODE_PRIVATE);


         //获得SharedPreferences.Editor


         SharedPreferences.Editor editor = settings.edit();


         //保存组件的值   为优先级设置填写不同类型的内容
         //用"field_height"界面组件标识符来取得身高的字符串 然后保存到PREF_HEIGHT所代表的优先级设置参数中


         editor.putString(PREF_HEIGHT, field_height.getText().toString());


         //提交保存的结果   将改变写到系统中


         editor.commit();
        }

  • 相关阅读:
    Power of Cryptography
    Radar Installation
    Emag eht htiw Em Pleh
    Help Me with the Game
    89. Gray Code
    87. Scramble String
    86. Partition List
    85. Maximal Rectangle
    84. Largest Rectangle in Histogram
    82. Remove Duplicates from Sorted List II
  • 原文地址:https://www.cnblogs.com/wangfeng520/p/5062537.html
Copyright © 2011-2022 走看看