android的数据存储方式

数据存储在开发中是使用最频繁的,Android平台中实现数据存储主要有5种方式,分别是:

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

2 SharedPreference:SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能读取数据而不支持写入数据,存储修改是通过Editor对象实现。常用于存储较简单的参数设置。

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

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

5 网络存储数据:通过网络获取数据和写入数据到网络存储空间

SQLite主要通过两个类实现其功能

SQLiteOpenHelper:这个类是数据库的帮助类;用来进行数据库的创建;表的创建,以及版本的更新

SQLiteDatabase:这个类里封装了对表的具体的操作的方法,比如增删改查的方法。

SharedPreferencesSQLite数据库的区别

SharedPreferences对象与SQLite数据库相比,免去了创建数据库,创建表,写SQL语句等诸多操作,相对而言更加方便,简洁。但是SharedPreferences也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据类型,比如其无法进行条件查询等。所以不论SharedPreferences的数据存储操作是如何简单,它也只能是存储方式的一种补充,而无法完全替代如SQLite数据库这样的其他数据存储方式。

ContentProvider与SQLite的区别

Sql只能在该工程的内部共享数据,ContentProvider能在工程之间实现数据共享。

ContentProvider URI组成部分

A,标准的前缀: ContentProvider(内容提供者)的scheme已经由Android所规定, scheme为:content://

B,唯一标识整个Content Provider: 主机名(或叫Authority)用于唯一标识这个ContentProvider,外部调用者可以根据这个标识来找到它。

C,描述了数据的路径,确定返回哪类数据: 路径(path)可以用来表示我们要操作的数据,路径的构建应根据业务而定

ID唯一标注请求的数据: 我们要请求数据的ID

通过contentResolver获取ContentProvider内容的基本步骤

第一:得到ContentResolver类对象:ContentResolver cr = getContentResolver();

第二:定义要查询的字段String数组。

第三:使用cr.query();返回一个Cursor对象。

第四:使用while循环得到Cursor里面的内容。

自定义ContentProvider的步骤

1. 继承Android的ContentProvider基类实现自己的ContentProvider类。

2. 实现 ContentProvider里的onCreate方法,创建provider的数据,一般为数据库sqlite。

3. 重写ContentProvider 中相应的insert/delete/update/query增删改查这些方法。

4. 在AndroidManifest.xml文件中注册该ContentProvider类,为ContentProvider指定Uri。Uri类似网页访问中使用的URL地址。

在<application></application>中配置 <provider/>标签以及属性:android:name属性:ContentProvider的类名

android:authorities属性:用于访问ContentProvider的名称。

Android中访问自定义ContentProvider

通过ContentProvider的Uri访问开放的数据。

(1)ContenResolver对象通过Context提供的方法getContenResolver()来获得。

(2)ContenResolver提供了以下方法来操作:insert  delete  update  query这些方法分别会调用ContenProvider中与之对应的方法并得到返回的结果。

http://wenku.baidu.com/link?url=v6y-2Lk_Tzy56ZpDq8I3eR8vXno0JNb6tL81-XpkhsuwGZ7oPF3knbfvgpOGMoGa3WwCcYbWgwqlzC5LO5KO3mOh7jSvYmWAADHWHlIddf3

http://www.360doc.com/content/16/0319/00/31777725_543463009.shtml

时间: 2024-11-08 20:30:45

android的数据存储方式的相关文章

Android的数据存储方式(转)

数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 下面将为大家一一详细介绍. 第一种: 使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗

Android中数据存储方式一:文件形式

总结在Android中,一共有数据存储的5种方式.今天做一个笔记的整理.关于以文件形式如何来保存数据. 1.在activity_main.xml设计好布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_pa

关于Android开发数据存储的方式(一)

关于Android开发数据存储方式(一) 在厦门做Android开发也有两个月了,快情人节了.我还在弄代码. 在微信平台上开发自己的APP,用到了数据存储的知识,如今总结一下: 整体的来讲.数据存储方式有三种:一个是文件,一个是数据库,还有一个则是网络. 当中文件和数据库可能用的稍多一些.文件用起来较为方便.程序能够自定义格式:数据库用起稍烦锁一些,但它有它的长处.比方在海量数据时性能优越.有查询功能,能够加密,能够加锁.能够跨应用.跨平台等等.网络,则用于比較重要的事情,比方科研,勘探,航空等

安卓中的数据存储方式以及ContentProvider的简单介绍

1.介绍android的数据存储方式 File存储 sharedPrefrence存储方式 conmtentprovider sqlitedatabase 网络存储 2.请介绍下ContentProvider是如何实现数据共享的 安卓中如果想将自己应用程序的数据暴露给其他的应用程序的时候就需要创建内容提供者.第三方可以通过contentResolver来访问该provider 3.为什么要使用ContentProvider?它和sql的实现上有什么差别? ContentProvider屏蔽了数据

android五种数据存储方式

在Android中提供了如下五种数据存储方式: SharedPreferences 文件存储 SQLite数据库方式 内容提供器(ContentProvider) 网络存储 下面具体介绍一下这五种数据存储方式的用法. 1. SharedPreferences SharedPreferences是android平台上的一个轻量级存储类,主要保存一些常用的配置信息.可以保存long.int.String类型数据. SharedPreferences以键值对方式读取和存入,最终会以XML方式保存数据,

Android 数据存储方式分为哪几种?

10道题值得思考 第一道题 1.Android 数据存储方式分为哪几种? SharedPreferences存储数据 2. CotentProvider内容提供者 3. 文件存储 4. 数据库存储(Sqlite) 5.网络存储 2. NDK是什么? 1. 一系列工具类的集合 2. Arm指令集 3. NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk.这些工具对开发者的帮助是巨大的. NDK集成了交叉编译器,并提供了相应的mk文件隔离

Android开发笔记之: 数据存储方式详解

无论是神马平台,神马开发环境,神马软件程序,数据都是核心.对于开发平台来讲,如果对数据的存储有良好的支持,那么对应用程序的开发将会有很大的促进作用.总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.其中文件和数据库可能用的稍多一些,文件用起来较为方便,程序可以自己定义格式:数据库用起稍烦锁一些,但它有它的优点,比如在海量数据时性能优越,有查询功能,可以加密,可以加锁,可以跨应用,跨平台等等:网络,则用于比较重要的事情,比如科研,勘探,航空等实时采集到的数据需要马上通过网络

Android数据存储方式

在Android开发中,我们有时需要存储一些数据 便于我们清楚知道存储的信息,很直观的看到 可以用来分析.Java中 中也有一些存储方式,在这里我就不一一介绍了,感兴趣的盆友http://blog.csdn.net/aaa1117a8w5s6d/article/details/8251456,今天的重点是来研究Android中的数据存储,Android中提供了几种方式来存储,下面来一一为大家介绍. 在Android系统中 提供了四种存储方式 分别是SQLite .File.SharedPrefe

Android数据存储方式之:ContentProvider

ContentProvider是Android的四大组件之一,可见其重要性.我们使用到ContentProvider时,也要同Activity等其它组件一样,在AndroidManifest.xml中注册对应的组件才能使用.为什么会用ContentProvider来作为数据存储方式之一呢? ContentProvider在android中的作用是对外共享数据(应用之间数据共享),可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider