Android 数据存储五种方式

1、概述

  Android提供了5种方式来让用户保存持久化应用程序数据。根据自己的需求来做选择,比如数据是否是应用程序私有的,是否能被其他程序访问,需要多少数据存储空间等,分别是: 
  
① 使用SharedPreferences存储数据 

② 文件存储数据

③  SQLite数据库存储数据

④ 使用ContentProvider存储数据

⑤ 网络存储数据 

Android提供了一种方式来暴露你的数据(甚至是私有数据)给其他应用程序 - ContentProvider。它是一个可选组件,可公开读写你应用程序数据。

2、SharedPreferences存储

  SharedPreference类提供了一个总体框架,使您可以保存和检索的任何基本数据类型( boolean, float, int, long, string)的持久键-值对(基于XML文件存储的“key-value”键值对数据)。

  通常用来存储程序的一些配置信息。其存储在“data/data/程序包名/shared_prefs目录下。

  xml 处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。 

2.1  我们可以通过以下两种方法获取SharedPreferences对象(通过Context):

① getSharedPreferences (String name, int mode)

当我们有多个SharedPreferences的时候,根据第一个参数name获得相应的SharedPreferences对象。

② getPreferences (int mode)

 如果你的Activity中只需要一个SharedPreferences的时候使用。

这里的mode有四个选项:

Context.MODE_PRIVATE

该SharedPreferences数据只能被本应用程序读、写。

Context.MODE_WORLD_READABLE

该SharedPreferences数据能被其他应用程序读,但不能写。

Context.MODE_WORLD_WRITEABLE

该SharedPreferences数据能被其他应用程序读和写。

Context.MODE_MULTI_PROCESS

sdk2.3后添加的选项,当多个进程同时读写同一个SharedPreferences时它会检查文件是否修改。

2.2  向Shared Preferences中写入值
 
首先要通过 SharedPreferences.Editor获取到Editor对象;

然后通过Editor的putBoolean() 或 putString()等方法存入值;

最后调用Editor的commit()方法提交;

//Use 0 or MODE_PRIVATE for the default operation
SharedPreferences settings = getSharedPreferences("fanrunqi", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("isAmazing", true); 

// 提交本次编辑
editor.commit();

同时Edit还有两个常用的方法:

editor.remove(String key) :下一次commit的时候会移除key对应的键值对 

editor.clear():移除所有键值对

2.3  从Shared Preferences中读取值

  读取值使用 SharedPreference对象的getBoolean()或getString()等方法就行了(没Editor 啥子事)。

SharedPreferences settings = getSharedPreferences("fanrunqi", 0);
boolean isAmazing= settings.getBoolean("isAmazing",true);

2.4  Shared Preferences的优缺点

  可以看出来Preferences是很轻量级的应用,使用起来也很方便,简洁。但存储数据类型比较单一(只有基本数据类型),无法进行条件查询,只能在不复杂的存储需求下使用,比如保存配置信息等。

时间: 2025-01-10 04:17:16

Android 数据存储五种方式的相关文章

Android数据存储五种方式总结

本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据     2 文件存储数据       3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配置信息(如是否打开音效.是否使用震动效果.小游戏的玩家积分

[Android] 数据存储五种方式使用与总结

1.概述 Android提供了5种方式来让用户保存持久化应用程序数据.根据自己的需求来做选择,比如数据是否是应用程序私有的,是否能被其他程序访问,需要多少数据存储空间等,分别是: ① 使用SharedPreferences存储数据 ② 文件存储数据 ③ SQLite数据库存储数据 ④ 使用ContentProvider存储数据 ⑤ 网络存储数据 Android提供了一种方式来暴露你的数据(甚至是私有数据)给其他应用程序 - ContentProvider.它是一个可选组件,可公开读写你应用程序数

(转载)Android数据存储三种方式总结

本文转载自:http://www.cnblogs.com/ITtangtang/p/3920916.html 本文介绍Android平台进行数据存储的三大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 其他: 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符

Android 数据存储四种方式

Android数据的四种存储方式 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.  分别是:SharePreference.SQLite.Content Provider和File.  由于Android系统中,数据基本都是私有的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider. SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存

Android数据存储技术五大方式总结

本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配置信息(如是否打开音效.是否使用震动效果.小游戏的玩家积分等),解锁口令密码等

android数据的五种存储方式

Android提供了5种方式存储数据 (1)使用SharedPreferences存储数据,它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式将数据存储到设备中.只能在同一个包内使用,不能在不同的包之间使用. SharedPreferences存储方式,它是Android提供的用来存储一些简单配置信息的一种机制,例如:登录用户的用户名与密码.其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入.存储目录/data/data/Package Name/

[转][Android]Android数据的四种存储方式

android.database.sqlite类 SQLiteQueryBuilder java.lang.Object android.database.sqlite.SQLiteQueryBuilder public class SQLiteQueryBuilderextends Object This is a convience class that helps build SQL queries to be sent to SQLiteDatabase objects. 构造方法摘要

Android系统的五种数据存储形式(一)

Android系统有五种数据存储形式,分别是文件存储.SP存储.数据库存储.contentprovider 内容提供者.网络存储.其中,前四个是本地存储.存储的类型包括简单文本.窗口状态存储.音频视频数据.XML注册文件的各种数据.各种存储形式的特点不尽相同,因此对于不同的数据类型有着固定的存储形式,本文为演示方便给出的案例基本相同,都是是采用账号登录来演示数据存储,保存账号和密码信息,下次登录时记住账号和密码.重在说明各种存储形式的原理. 文件存储: 以I/O流的形式把数据存入手机内存或SD卡

Android数据的四种存储方式

很清晰的思路,转自Android数据的四种存储方式 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File.由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider. SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用