`

Android数据存储访问方式-SharedPreferences的应用

阅读更多
SharedPreferences
SharedPreferences相当于配置文件,为应用程序提供了首选项.其实就是包含键值对的xml文件.SharedPreference能保存基本类型的数据,如:boolean,float,int,long,string


获得SharedPreferences对象
-getSharedPreferences(String name, int mode):获取指定SharedPreferences对象供使用,通过传入资源id(xml的文件名)来获得.
-getPreferences(int mode):获取一个属于当前Activity的SharedPreferences对像供使用(待研究).无需传入资源id.也可以调用getSharedPreferences(),传入Activity的class name来获得.即在MyActivity下调用getPreferences(0)等同于getSharedPreferences("MyActivity",0)
这里对参数mode讲解下,Context下提供了几种mode,如下所示:
MODE_APPEND:如果目标文件已经存在,则会在文件尾添加内容.而不会先清除内容
MODE_MULTI_PROCESS:当目标文件能被多个应用程序访问时,最会检查目标文件是否正被修改中
MODE_PRIVATE:表示目标文件是私有的,只有本应用程序才能访问,如果文件相同会进行覆盖
MODE_WORLD_READABLE:表示允许其他应用程序读目标文件
MODE_WORLD_WRITEABLE:表示允许其他应用程序写目标文件


读写数据
SharedPreferences类提供了各种读取数据的方法(getXXX())
如果要写入数据的话需要使用SharedPreferences.Editor对象
通过调用SharedPreferences.edit()获得SharedPreferences.Editor对象
然后调用Editor对象的相应方法来读写数据(putXXX()),最后需要commit()一下
下面是一例子片段:
//SharedPreferences setting = getPreferences(0);//会直接以当前Activity的class name创建xml文件
SharedPreferences setting = getSharedPreferences("myPreference", 0);//参数1是文件名
String name = setting .getString("name","")//参数2是默认值
SharedPreferences.Editor editor = setting.edit();
editor.putString("name", "Jack");
editor.commit();//提交修改
运行后会在/data/data/com.****/shared_prefs目录下创建myPreference.xml(代码里设置的),文件内容如下:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="name">Jack</string>
</map>

分享到:
评论

相关推荐

    Android基础 布局、数据存储访问、XML系列化解析和SharedPreferences入门

    3、数据存储与访问 主要介绍存储文件到外部存储器和内部存储器,利用系统提供的API获取路径时,需要精准的掌握他们的目录层级。在将数据保存到SDCard时,需要判断剩余存储空间。 SharedPreferences存储对于简单的...

    实验六、数据存储和访问(一).docx

    android studio应用程序开发作业,实验数据存储和访问。1、制作启动界面如下图所示 2、选择“教师”,点击“登录”按钮,使用保存在SharedPreferences里的帐号信息验证用户名和密码。登录成功后跳转到如下界面。

    老罗android开发视频教程全集百度网盘下载

    Android基础阶段:平台架构特性(JAVA/C) Market/应用程序组件 环境搭建与部署/打包与发布 AVD/DDMS/AAPT 调试与测试 相关资源访问/资源制作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及...

    tray:具有多进程支持的Android的SharedPreferences替代

    托盘还提供了高级API,通过升级和迁移机制,它可以非常轻松地访问和维护您的数据。 欢迎使用SharedPreferences 2.0(又名Tray)。 特征 多进程工作 将简单数据类型存储为键值对 自动保存每个条目的元数据(创建,...

    疯狂Android讲义源码

     第8章 Android的数据存储和IO 306  8.1 使用SharedPreferences 307  8.1.1 SharedPreferences与Editor  简介 307  8.1.2 SharedPreferences的存储  位置和格式 308  8.1.3 读、写其他应用Shared  ...

    contentprovider

    当应用继承ContentProvider类 并重写该类用于提供数据和存储数据的方法 就可以向其他应用共享其数据 虽然使用其他方法也可以对外共享数据 但数据访问方式会因数据存储的方式而不同 如:采用文件方式对外共享数据 ...

    Android实例代码

    第8章、Android的数据存储和IO 8.1、使用SharedPreferences:SharedPreferences; Editor; 8.2、File存储:openFileOutput和openFileInput; 读写SD卡文件; 8.3、SQLite数据库:SQL语句; SQLiteDatabase; ...

    疯狂Android讲义(第2版)源代码 第6章~第9章

    第8章、Android的数据存储和IO 8.1、使用SharedPreferences:SharedPreferences; Editor; 8.2、File存储:openFileOutput和openFileInput; 读写SD卡文件; 8.3、SQLite数据库:SQL语句; SQLiteDatabase; ...

    疯狂Android讲义.part2

    第8章 Android的数据存储和IO 306 8.1 使用SharedPreferences 307 8.1.1 SharedPreferences与Editor 简介 307 8.1.2 SharedPreferences的存储 位置和格式 308 8.1.3 读、写其他应用Shared Preferences 310 8.2 File...

    疯狂Android讲义.part1

    第8章 Android的数据存储和IO 306 8.1 使用SharedPreferences 307 8.1.1 SharedPreferences与Editor 简介 307 8.1.2 SharedPreferences的存储 位置和格式 308 8.1.3 读、写其他应用Shared Preferences 310 8.2 File...

    Android 实例分析ContentProvider详解

    ContentProvider是android的四大组件之一,同时与SharedPreferences、IO、SQLite、网络共同构成了五种android存储技术。是android定义的一个管理访问结构化数据机制。android支持的Sqlite是不支持跨进程、跨应用访问...

    [《第一行Android代码》读书笔记] 第7章 跨程序共享数据——探究内容提供器

    ​ 数据持久化技术,包括文件存储、SharedPreferences存储以及数据库存储,都只能在当前应用程序中访问。跨程序数据共享需要用到另一种技术——内容提供器。 7.1 内容提供器简介 ​ 内容提供器(Content Provider...

    android开发秘籍

    第9 章 数据存储方法 184 9.1 shared preferences 184 9.1.1 秘诀73:创建和检索sharedpreferences 184 9.1.2 秘诀74:使用preferences框架 185 9.1.3 秘诀75:基于stored data改变用户界面 187 9.1.4 秘诀76:...

    android 面试2

    请介绍下Android的数据存储方式。  答:SharedPreferences键值对的存储  SQlite数据库存储  Files文件存储  NetWork网络存储 ContentProvider  7. 请介绍下ContentProvider是如何实现数据共享的。 答:...

    安卓android课程设计报告.docx

    软件支持高效、快速的数据存储方式,包括快速数据存储方式SharedPreferences、文件存储和轻量级关系数据块SQLite,可软件可以使用适合的方法对数据进行进程保存和访问。 假设和约束(依赖) 软件必须在安卓系统下才...

    react-native-shared-group-preferences

    您有多个适用于iOS或Android的React-Native应用程序,希望它们能够在用户设备的集中位置共享数据。 例如,您有一系列RPG游戏,其中所有应用程序都共享相同的金币。 因此,如果在应用程序#1中,用户打败了游戏,...

    安卓android课程设计分析报告.doc

    软件支持高效、快速的数据存储方式,包括快速数据存储方式SharedPreferences、文件 存储和轻量级关系数据块SQLite,可软件可以使用适合的方法对数据进行进程保存和访 问。 4. 假设和约束(依赖) 软件必须在安卓系统...

Global site tag (gtag.js) - Google Analytics