您的位置:首页 > 移动开发 > Android开发

Android的数据存储方式

2016-03-08 18:12 525 查看
Android的数据存储主要有五种:

1:SharedPreferences:保存少量数据,简单格式的数据。保存的数据主要是类似于配置信息格式的数据(例如:用户名,密码),因此它保存的数据主要是简单类型的key-value对。其本质就相当于一个xml文件。

优点:SharedPreferences使用起来十分的方便,可以灵活应用,因为它简单方便,所以能用它就尽量不要用文件或是数据库。

限制条件:只能在同一个包内使用。

boolean commit():当editor编辑完成后,调用该方法提交修改。

SharedPreferences数据总是保存在/data/data/<pasckage name>/shared-prefs目录下。

2、File:用来存储文件(非配置信息或结构化数据),如文本文件,二进制文件,多媒体文件,下载的文件等。

context提供两个方法打开本应用程序的数据文件夹的文件I/O流。

openFileOuutput()和openFileInput().

3、SQLite:是一个轻量级数据库,支持基本SQL语法,提供一个名为SQLiteDatabase类。

优点:效率高,在不同Activity或应用之间传递数据方便;适合存储结构化数据;使用标准的SQL语句能实现CRUDE,操作方便;移植性好。

4、ContentProvider:是不同应用程序之间进行数据交换的标准API。一旦一个应用程序通过ContentProvider暴露了自己的数据操作接口,不管这个应用程序是否启动,其他应用程序都可以通过接口来操作(增、删、改、查)该应用程序的内部数据。

开发ContentProvider需要先开发一个ContentProvider的子类,该子类需要实现query()、insert()、update()、delete()等方法。这些方法并不是给该应用本身调用的,而是供其他应用来调用的。再在AndroidManifest.xml文件中注册该ContentProvider,指定android:authorities属性。

配置ContentProvider:

<provider

android:name=".MyProvider"

android:authorities="org.crazyit.providers.myprovider"

android:exported="true">

authorities:指定该ContentProvider对应的Uri(相当于为该ContentProvider分配一个域名)。

android:exported:指定该ContentProvider是否允许其他应用调用。如果设为false,不允许其他应用调用。

5、网络存储:通过网络来实现数据的存储和获取的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: