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

    大道至简,知易行难,知行合一,得到功成;大道至简,悟在天成。
  • 相关阅读:
    这是阿里技术专家对 SRE 和稳定性保障的理解
    阿里四年技术 TL 的得失总结:如何做好技术 Team Leader
    深度 | 阿里云蒋江伟:什么是真正的云原生?
    亲历者说 | 完整记录一年多考拉海购的云原生之路
    Seata RPC 模块的重构之路
    对容器镜像的思考和讨论
    20 行代码:Serverless 架构下用 Python 轻松搞定图像分类和预测
    怎么提升写代码的能力
    云原生 DevOps 的 5 步升级路径
    dubbo-go 白话文 | 从零搭建 dubbogo 和 dubbo 的简单用例
  • 原文地址:https://www.cnblogs.com/XingzhiDai/p/5466632.html
Copyright © 2011-2022 走看看