zoukankan      html  css  js  c++  java
  • android中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)操作。

    具体代码的书写流程为:

     
    protected void onCreate(Bundle savedInstanceState) {
    .....
    
    pref=PreferenceManager.getDefaultSharedPreferences(this);

    在oncreate中加入 PreferenceManager

    在onclick中加入代码

    String account = username.getText().toString();
                String pass=userpass.getText().toString();
                
                if(account.equals("admin")&& pass.equals("123456")){
                    
                    editor=pref.edit();
                    if(Remember.isChecked()){
                        editor.putBoolean("remember_pass", true);
                        editor.putString("username", account);
                        editor.putString("userpass", pass);
                                            
                    }else{
                        editor.clear();
                    }
                    
                    editor.commit();

    案例 http://pan.baidu.com/s/1skWaSPJ

    大道至简,知易行难,知行合一,得到功成;大道至简,悟在天成。
  • 相关阅读:
    LeetCode:Remove Nth Node From End of List
    链表排序(冒泡、选择、插入、快排、归并、希尔、堆排序)
    快速排序partition过程常见的两种写法+快速排序非递归实现
    LeetCode:Permutations, Permutations II(求全排列)
    LeetCode:3Sum, 3Sum Closest, 4Sum
    LeetCode:Two Sum
    判断一个图是否有环
    c++设计一个无法被继承的类
    设计模式--单例模式
    windows多线程同步互斥--总结
  • 原文地址:https://www.cnblogs.com/XingzhiDai/p/5466632.html
Copyright © 2011-2022 走看看