zoukankan      html  css  js  c++  java
  • SharedPreferences

     

    偏好设定(SharedPreferences)Ÿ

       在程序中保存一些配置参数的时候我们经常使用SharedPreferences

    Context.getSharedPreferences(String name,int mode)

    该方法可以在/data/data/<package>/shared_pref/目录下创建一个以name命名的xml文件,mode文件为模式

    SharedPreferences的四种操作模式:
    Context.MODE_PRIVATE
    Context.MODE_APPEND
    Context.MODE_WORLD_READABLE
    Context.MODE_WORLD_WRITEABLE
     
    Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
    Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
    Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.
    MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
    MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.

    Ÿ   存储偏好

    调用edit()方法可以获取一个Editor对象,对数据进行存储,存储之后需要调用commit()保存到文件

    复制代码
        public void save(View view) {
    String name = nameET.getText().toString();
    String address = addressET.getText().toString();
    String phone = phoneET.getText().toString();
    String age = ageET.getText().toString();

    // 偏好设定,xml 文件保存在 shared_pref 目录下
    // 获取SharedPreferences, 文件名不要指定扩展名
    // SharedPreferences preferences = getSharedPreferences("config", MODE_PRIVATE);
    // 匿名方式,文件名和Activity名一致
    SharedPreferences preferences = getPreferences(MODE_PRIVATE);
    Editor editor = preferences.edit(); // 获取编辑器,保证事务的原子性

    try {
    editor.putString("name", name);
    editor.putString("address", address);
    editor.putString("phone", phone);
    editor.putInt("age", Integer.valueOf(age));
    editor.commit(); // 提交数据, 保存到文件
    Toast.makeText(getApplicationContext(), "保存成功", Toast.LENGTH_LONG).show();
    } catch (Exception e) {
    e.printStackTrace();
    editor.clear(); // 提交数据, 保存到文件
    Toast.makeText(getApplicationContext(), "保存失败", Toast.LENGTH_SHORT).show();
    }
    }
    复制代码

    Ÿ   读取偏好

    获得SharedPreferences之后调用getString()、getInt()等方法获取其中设置的值

    Ÿ   在Activity中获取SharedPreferences

    在Activity中可以调用getPreferences(int mode)方法获得一个SharedPreferences,文件名和Activity名一致

    复制代码
        private void loadData() {
    // 指定文件名
    // SharedPreferences preferences = getSharedPreferences("config", MODE_PRIVATE);
    // 匿名方式
    SharedPreferences preferences = getPreferences(MODE_PRIVATE);
    String name = preferences.getString("name", "");
    String address = preferences.getString("address", "");
    String phone = preferences.getString("phone", "");
    String age = String.valueOf(preferences.getInt("age", 20));
    nameET.setText(name);
    addressET.setText(address);
    phoneET.setText(phone);
    ageET.setText(age);
    }
    复制代码
  • 相关阅读:
    css3——box-sizing属性
    HTML5存储--离线存储
    微信公众号爆出前端安全漏洞
    Js获取宽高度的归纳集锦总结
    Yii 2 修改 URL 模式为 PATH 模式,并隐藏index.php
    SQL 查询优化 索引优化
    linux提示语言包
    安装linux工作环境
    linux常用命令
    PHP解决抢购、秒杀、抢楼、抽奖等阻塞式高并发库存防控超量的思路方法
  • 原文地址:https://www.cnblogs.com/xgjblog/p/3866113.html
Copyright © 2011-2022 走看看