博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android数据的4种存储方式
阅读量:4635 次
发布时间:2019-06-09

本文共 1762 字,大约阅读时间需要 5 分钟。

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

SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式。Android为此数据库提供了一个名为SQLiteDatabase的类,封装了一些操作数据库的API。

SharedPreference: 除SQLite数据库外,另一种常用的数据存储方式,其本质就是一个xml文件,常用于存储较简单的参数设置。

File: 即常说的文件(I/O)存储方法,常用语存储大数量的数据,但是缺点是更新数据将是一件困难的事情。

ContentProvider: Android系统中能实现所有应用程序共享的一种数据存储方式,由于数据通常在各应用间的是互相私密的,所以此存储方式较少使用,但是其又是必不可少的一种存储方式。例如音频,视频,图片和通讯录,一般都可以采用此种方式进行存储。每个Content Provider都会对外提供一个公共的URI(包装成Uri对象),如果应用程序有数据需要共享时,就需要使用Content Provider为这些数据定义一个URI,然后其他的应用程序就通过Content Provider传入这个URI来对数据进行操作。

二、SharedPreference的使用:

       SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改时通过Editor对象实现(重新对一个键赋值达到了数据的修改)。实现SharedPreferences的存储步骤如下:

    1.根据Context获取SharedPreferences对象

    2.利用edit()方法获取Editor对象

    3.通过Editior对象存储key-value键值对数据

    4.通过commit()方法提交数据

代码如下:

public class PreferenceUtil {    private static String preference = "TestFile_FILE";    public static String getStringPreference(Context context, String key, String defaultValue) {        SharedPreferences preferences = context.getSharedPreferences(preference, context.MODE_PRIVATE);        String test = preferences.getString(key, defaultValue);        return test;    }    public static void setStringPreference(Context context, String key, String value) {        SharedPreferences preferences = context.getSharedPreferences(preference, context.MODE_PRIVATE);        SharedPreferences.Editor editor = preferences.edit();        editor.putString(key, value);        editor.commit();    }}

转载于:https://www.cnblogs.com/ccddy/p/3964929.html

你可能感兴趣的文章
基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理...
查看>>
下一个亿万市场:企业级SaaS服务谁能独领风骚
查看>>
闰年流程图(18网三袁昳)
查看>>
github上传本地代码失败
查看>>
ADC中宽带巴伦的使用
查看>>
Python元组&字典
查看>>
ubi实际使用
查看>>
curl命令使用
查看>>
PYTHON自动化Day12-unittest自动注册登录
查看>>
为 Asp.net 网站新增发送手机短信功能
查看>>
hdu 1002大数(Java)
查看>>
CSS3——对齐 组合选择符 伪类 伪元素 导航栏 下拉菜单
查看>>
NOIP2005普及组第4题 循环
查看>>
xbmc-12.0稳定版代码初探 (2) —— XBMC_HOME
查看>>
Java GC 日志详解
查看>>
MySQL主主配置说明
查看>>
[建议] GCC 新手入门【转】
查看>>
AC日记——[Hnoi2017]影魔 bzoj 4826
查看>>
Python:通过一个小案例深入理解IO多路复用
查看>>
自定义View圆
查看>>