`
qq986945193
  • 浏览: 92360 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Android开发之数据存储——SharedPreferences基础知识详解,饿补学会基本知识,开发者必会它的用法。

 
阅读更多

一、数据存储选项:Data Storage ——Storage Options【重点】
1、Shared Preferences
Store private primitive data in key-value pairs.
保存简单的键值对数据。
2、Internal Storage
Store private data on the device memory.
在手机内存中保存不对外共享的信息。
3、External Storage
Store public data on the shared external storage.
在外部存储设备上保存公共的数据信息。主要指保存在SDCard上。
4、SQLite Databases
Store structured data in a private database.
将结构化的数据保存进数据库。
5、Network Connection
Store data on the web with your own network server.
将数据保存到自己的远程服务器上。
【备注:】
内部存储空间十分有限,因而显得可贵,另外,它也是系统本身和系统应用程序主要的数据存储所在地,一旦内部存储空间耗尽,手机也就无法使用了。
所以对于内部存储空间,我们要尽量避免使用。Shared Preferences和SQLite数据库都是存储在内部存储空间上的。内部存储一般用Context来获取和操作。
getFilesDir()获取你app的内部存储空间,相当于你的应用在内部存储上的根目录。
最容易混淆的是外部存储,如果说pc上区分出外部存储和内部存储的话,那么自带的硬盘算是内部存储,U盘或者移动硬盘算是外部存储,因此我们很容易带着这样的理解去看待安卓手机,认为机身固有存储是内部存储,而扩展的SDCard卡是外部存储。比如Nexus 4有16G的内部存储,普通消费者可以这样理解,但是安卓的编程中不能,这16GB仍然是外部存储。

二、SharedPreferences:
(一)、概念:
SharedPreferences是Android系统提供的一个通用的数据持久化框架,用于存储和读取key-value类型的原始基本数据类型对,目前支持string、int、long、float、boolean等基本类型的存储,对于自定义的对象数据类型,无法使用SharedPreferences来存储。
SharedPreferences主要用于存储系统的配置信息。例如上次登录的用户名,上次最后设置的配置信息(如:是否打开音效、是否使用振动,小游戏的玩家积分等)。当再次启动程序后依然保持原有设置。SharedPreferences用键值对方式存储,方便写入和读取。

(二)、使用SharedPreferences的步骤:
1、获取SharedPreferences对象;
SharedPreferences本身是一个接口,无法直接创建实例,通过Context的getSharedPreferences(String name, int mode)方法来获取实例。
该方法的第二个参数有以下三个值:【文件读写的操作模式】
Context.MODE_PRIVATE: 指定该SharedPreferences的数据只能被本应用程序读、写;
Context.MODE_APPEND:新内容追加到原内容后;
Context.MODE_WORLD_READABLE: 指定 SharedPreferences数据能被其他应用程序读,但是不支持写;
Context.MODE_WORLD_WRITEABLE: 指定 SharedPreferences数据能被其他应用程序读、写。会覆盖原数据。
可以使用 + 连接这些权限。
2、调用edit()方法获取SharedPreferences.Editor;
3、通过SharedPreferences.Editor接口提供的put()方法对SharedPreferences进行更新;
4、调用SharedPreferences.Editor的commit()方法,将更新提交到SharedPreferences中。

因为SharedPreferences背后是使用xml文件保存数据,getSharedPreferences(name,mode)方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上。方法的第二个参数指定文件的操作模式,共有四种操作模式,

这四种模式代表的含义为:

Context.MODE_PRIVATE = 0
Context.MODE_APPEND = 32768
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2

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

另外Activity还提供了另一个getPreferences(mode)方法操作SharedPreferences,这个方法默认使用当前类不带包名的类名作为文件的名称。

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    Android数据存储——SharedPreferences(登入记住密码)

    在Android应用开发中,数据存储是至关重要的一个环节,它涉及到用户信息的持久化,使得应用在退出或设备重启后仍能保持之前的状态。在众多的数据存储方式中,SharedPreferences是一种轻量级的选择,尤其适用于存储小...

    android 数据存储——SharedPreferences,有代码实现,简单易懂

    在Android开发中,数据存储是不可或缺的一部分,它用于保存应用的状态和用户数据。这篇博文将主要探讨SharedPreferences这一轻量级的数据存储方式,它适合存储简单的键值对数据,如设置偏好。通过SharedPreferences...

    Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储)

    在Android应用开发中,数据保存是至关重要的,它能让应用在不同状态或重启后依然保持用户的设置和数据。本教程将详细介绍Android中的三种主要数据存储方式:SharedPreferences存储、内部文件存储以及数据库存储。 1...

    安卓Android源码——SharedPreferences.rar

    SharedPreferences是Android系统中一个轻量级的数据存储机制,主要用于存储应用程序中的简单配置数据,如布尔值、整型、浮点型、字符串等基本类型及其数组。这个机制允许开发者以键值对的形式保存数据,并在应用的...

    Android开发之数据存储的四种方式之SharedPreferences

    Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...

    Android项目设计与开发:SharedPreferences.ppt

    嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 2 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...

    Android数据存储之SharedPreferences

    在Android应用开发中,数据存储是一项重要的任务,用于持久化应用程序的数据,以便在用户退出或设备重启后仍能保持信息。SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储简单的小型数据,...

    android的SharedPreferences详解

    虽然SharedPreferences非常适合存储简单的配置数据,但对于更复杂的数据结构,如对象序列化或大数据量存储,开发者可能会选择SQLite数据库、ContentProvider、Room(ORM库)或是使用云存储服务。 总的来说,...

    Android项目设计与开发:SharedPreferences 1.ppt

    嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 1 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...

    Android中DataStore替代SharedPreferences

    Android开发者们长期以来一直依赖SharedPreferences作为轻量级的数据存储解决方案,它的简单易用性使其在小规模数据存储方面受到了广泛欢迎。然而,随着应用程序复杂性的增加,SharedPreferences的局限性逐渐暴露...

    android 数据存储之SharedPreferences

    在本项目"android 数据存储之SharedPreferences"中,我们将深入探讨如何使用SharedPreferences来实现数据的持久化。 SharedPreferences的工作原理是基于XML文件,这些文件存放在设备的内部存储区,通常位于`data/...

    android开发之文件操作——文件创建和文件读取

    本项目"android开发之文件操作——文件创建和文件读取"提供了相关的代码示例,帮助开发者理解和实践Android中的文件操作。 在Android中,文件操作主要通过java.io包下的类来实现,如File、FileInputStream、...

    [Android Studio应用开发——基础入门与应用实战][方欣,杨勃][电子课件]

    【Android Studio应用开发——基础入门与应用实战】是针对初学者和希望提升Android应用程序开发技能的人群设计的一门课程。这门课程由专家方欣和杨勃共同编写,旨在通过电子课件的形式,深入浅出地讲解Android ...

    Android数据存储--SharedPreferences存储

    在Android应用开发中,数据存储是一项重要的任务,用于持久化应用程序的数据,以便在用户退出或设备重启后仍能保留信息。SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储少量简单的键值对...

    《Google Android开发入门与实战》

    第8章 移动信息仓库——Android的数据存储操作之轻轻地我保护——SharedPreferences存储-1 第8章 移动信息仓库——Android的数据存储操作之轻轻地我保护——SharedPreferences存储-2 第9章 我来“广播”你的“意图”...

    AndroidStudio————实战演练——仿美团外卖菜单

    在本项目中,"AndroidStudio————实战演练——仿美团外卖菜单"是一个专注于使用Android Studio开发的应用程序实战案例,目标是创建一个类似于美团外卖的菜单功能。这个项目涵盖了多个Android开发的关键知识点,...

    Sharedpreferences存储数据的使用方法_完整Demo_AndroidStudio

    在这个"Sharedpreferences存储数据的使用方法_完整Demo_AndroidStudio"中,我们将深入探讨如何在Android Studio环境下使用Shared Preferences。 1. **共享首选项(Shared Preferences)的基本概念** - Shared ...

    Android本地存储SharedPreferences详解

    Android本地存储SharedPreferences详解 存储位置 SharedPreferences数据保存在: /data /data/&lt;package&gt; /shared_prefs 文件夹下,以XML格式保存,根元素为:。文件名称为获取SharedPreferences实例时传递的參数值。...

    Android25闹钟项目——ArrayAdapter动态添加数据,显示数据,删除数据SharedPreferences存储数据,读取数据

    在Android应用开发中,ArrayAdapter是一种常用的视图适配器,它允许我们把数据集合绑定到ListView、Spinner等可滚动视图上。本项目“Android25闹钟项目”利用ArrayAdapter来动态添加、显示和删除数据,并通过...

    Android数据持久化之二:SharedPreferences 存储

    数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,...SharedPreferences 是使用键值对的方式来存储数据的,使用 SharedPreferences来进行数据持久化要比使用文件方便很多。

Global site tag (gtag.js) - Google Analytics