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");

android上如何写配置文件相关推荐

  1. 在“提示”框中:管理Android音频配置文件,Android上的Google书签和电缆固定

    It's a Thursday afternoon and that tip-time-of-week again. This week we're looking at managing audio ...

  2. android 控件 堆叠_每次在Android上正确地向后堆叠

    android 控件 堆叠 When navigating in a mobile app, the screens opened after one another form a stack, th ...

  3. java软件屏幕大小转换,android 用java写一个自动适配各种屏幕大小的工具

    android 用java写一个自动适配各种屏幕大小的工具,假设我当前机器屏幕宽高为1920*1116,我页面某个组件的宽度为100px,那么在1280*800的机器上,按道理将应该是100/1920 ...

  4. Go编译android,go语言的程序跑在android上

    之前写了一个检查页面的golang程序http://www.simonzhang.net/?p=1346.就用这个测试一下放到android上看看效果如何.但是我在windows上的golang还是产 ...

  5. android.mk 添加v7_在Android上以命令行方式移植FFmpeg

    最近要做视频I帧提取和摘要生成的项目,在Android平台上的应用,经过调研,发现ffmpeg有很多相关功能的轮子,因此考虑将ffmpeg移植到Android平台.为了更好解耦和以及更多的文档参考,选 ...

  6. 【Android】在Android上使用OrmLite数据库框架 之 基本用法

    转载自:http://blog.csdn.net/oo8_8oo/article/details/7302156 官网:http://ormlite.com/ 官方帮助,目录: http://orml ...

  7. Android 上的低功耗蓝牙实践

    转载自:https://www.race604.com/android-ble-in-action/ 我今天分享的主题是 Android 上低功耗蓝牙的实践.这个主题比较小众.我在过去的一年多的时间里 ...

  8. 构建node.js基础镜像_在Android上构建Node.js应用程序

    构建node.js基础镜像 by Aurélien Giraud 通过AurélienGiraud 在Android上构建Node.js应用程序-第1部分:Termux,Vim和Node.js (Bu ...

  9. Android上的MVP:如何组织显示层的内容

    MVP(Model View Presenter)模式是著名的MVC(Model View Controller)模式的一个演化版本,目前它在Android应用开发中越来越重要了,大家也都在讨论关于M ...

最新文章

  1. 如何创建.gitignore文件,忽略git不必要提交的文件
  2. 程序员那些年的斗智斗勇!!!
  3. Android性能测试-分析工具
  4. Android Studio 点击运行总是debug
  5. 在茫茫人海中发现相似的你——局部敏感哈希(LSH)
  6. 【PostgreSQL+PostGIS离线安装】2天的踩坑及问题解决经验分享(含安装文件postgresql-9.5.9+postgis-2.2.3+多个依赖及测试SQL)
  7. 正确率 精度 召回率 错误率
  8. OCR数据处理(上篇)+OCR数据处理(下篇)
  9. 这可能是最好的RxJava 2.x 入门教程学习系列
  10. iOS优化内存,提升性能 之五
  11. rtcp webrtc 接收_WebRTC RTP/RTCP 源码分析(四):RTCP 的接收和解析
  12. 如何将 MacBook 的外置屏幕设置为主屏幕
  13. 随手记_PPT设计风格参考
  14. 字符打印流(PrintWriter)
  15. [C/C++]如何在ARM环境下进行开发
  16. Wlan学习—无线网络安全
  17. JavaSE综合项目演练
  18. nodejs的http请求是报错 socket hang up
  19. RabbitMQ-1-概念及简单应用
  20. 新网站如何提交链接让百度更快速的收录

热门文章

  1. java sql变更跟踪_如何使用Spring动态跟踪数据库更改?
  2. linux查看通信延迟,低优先级进程延迟实时进程中的串行通信(Linux)
  3. php经典面试题时间,php 经典面试题及答案
  4. 疾风之刃的最新服务器,疾风之刃6月16日数据互通公告 数据互通服务器查询介绍...
  5. 与word2vec_Word2vec算法图解(一)
  6. python半年能达到什么程度_花半年的时间能把Python自学到什么程度?
  7. hdfs中与file数组类似的数组_Chapter05 Java中的数组
  8. 嵌入式工程师最后都选择了什么职位?
  9. 你眼中的嵌入式是什么样?
  10. 自己动手写CPU(5)简单算术操作指令实现_1