zoukankan      html  css  js  c++  java
  • android上如何写配置文件

    android上如何写配置文件:使用SharedPreferences

    SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。SharedPreferences提供了java常规的Long、Int、String等类型数据的保存接口。 SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问。提示最终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好

    通过SharedPreferences可以保存程序的某些配置信息,而程序员不需要知道它到底以什么形式保存的,保存在了什么地方。

    在Android系统中,SharedPreferences中的信息以XML文件的形式保存在 /data/data/PACKAGE_NAME/shared_prefs目录

    获取SharedPreferences的两种方式:

    1 调用Context对象的getSharedPreferences()方法

    2 调用Activity对象的getPreferences()方法

    两种方式的区别:

    调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.

    调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.

    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:表示当前文件可以被其他应用写入.

    例子:

    将数据保存至SharedPreferences:

    SharedPreferencespreferences=getSharedPreferences("user",Context.MODE_PRIVATE);

    Editor editor=preferences.edit();

    String name="xixi";

    String age="22";

    editor.putString("name", name);

    editor.putString("age", age);

    editor.commit();

     

    从SharedPreferences获取数据:

    SharedPreferencespreferences=getSharedPreferences("user", Context.MODE_PRIVATE);

    Stringname=preferences.getString("name", "defaultname");

    Stringage=preferences.getString("age", "0");

  • 相关阅读:
    -bash java: cannot execute binary file (华为鲲鹏云)
    Centos7.6编译安装数据库mysql5.7.22(华为鲲鹏云服务器案例)
    华为鲲鹏云服务器编译安装mysql-5.7.27 报错error: could not split insn
    centos7.6安装nginx并设置开机自启
    ansible常用模块实例
    Nginx、tomcat日志切割
    Linux系统文件系统损坏修复实例
    Rest模式get,put,post,delete含义与区别(转)
    从关系型数据库到非关系型数据库
    SQL Server 2012 Express LocalDB 的作用
  • 原文地址:https://www.cnblogs.com/derekhan/p/11180769.html
Copyright © 2011-2022 走看看