基于Android开发的APP数据存储研究

时间:2022-08-06 03:52:13

基于Android开发的APP数据存储研究

摘要: 作为一个完整的应用程序,数据存储操作是必不可少的。Android系统一共提供了四种数据存储方式分别为File文件存储、Shared Preferences存储、ContentProvider存储和SQLite数据库存储。该文以“爱自己”健康APP为例,简单地介绍了这些本地数据存储的原理和特点,并对其优缺点进行了分析。

关键词:数据存储,数据管理,存储机制

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)28-0012-02

Abstract: As a complete application, data storage operation is necessary. The Android system provides a total of four kinds of method of data storage: the File files are stored and Shared Preferences, ContentProvider storage and SQLite database storage. Based on this, through to this topic to complete the "love yourself" health APP, simply introduces the principle and characteristics of the local storage, and analyses their advantages and disadvantages.

Key words: data storage; data management; storage mechanism

1 引言

随着社会的飞速发展和人民生活水平的进一步提高,人们已经不仅仅满足于生活的温饱和娱乐,而是更多地去关注自身的身体健康,去追求健康的生活方式。本课题开发和设计了一款基于Android平台的“爱自己”健康医疗APP,算法和数据是这个软件的程序运行的核心,相应的Android开发平台提供了各种数据存储机制,使得这个健康APP在进行数据存储和管理时可以选择使用不同的方式。本文对Android系统提供的存储方式进行了简单研究,以及本次创新项目完成的“爱自己”健康APP的存储方式选择。

2 数据存储方式

2.1 File文件存储

File文件存储就是以I/O流形式来对数据进行保存和读取,可以直接将数据输出到文件中,以文件的形式存入手机内存或者SD卡中,默认的存储目录是/data/data/Package_Name/files[1]。这是个默认私有的文件,在访问这文件的时候需要设置操作模式为可读或可写。它主要是提供了openFileOutput()和openFileInput方法对文件进行读写。文件存储是Android中最基本的一种数据存储方式,不仅能将大量的数据存储到系统中,还能存储到手机SD卡上,进而节省了手机自身的存储空间,比数据库存储实现简单。但是它的缺点是更新数据比较麻烦,数据不能共享和进行条件访问。

2.2 Shared Preferences存储

Shared Preferences是在Android平台上使用的一个轻量级存储类,一般用来保存一些简单的配置信息,实质上是以.xml文件形式来存储key-value键值对数据,其对应的文件可以是在/data/data/ Package_Name/shared_prefs文件夹中找到,跟文件存储一样,这样的文件也是默认私有的,在多个应用程序之间是无法共享数据的。Shared Preferences对象本身只能获取数据,并不能支持数据存储和数据修改的操作,只能通过Shared Preferences.Editor()对象来进行这些操作。Shared Preferences对象不用像数据库管理那样创建数据库、创建表、写SQL语句等操作,相对而言快速、方便、简洁。但是这种方式只能存储boolean、int、float、long和String5种简单数据类型,而且数据是以XML格式存储到手机内存中,无法存储大量的数据。

2.3 ContentProvider存储

ContentProvider为存储和获取数据提供了统一的接口。ContentProvider一般使用表的形式来组织数据,每一个ContentProvider都对外拥有一个公共的URL,Android设备上的任何程序都可以通过这个URL来访问或对数据进行操作,实现了应用程序之间的数据共享[2]。用户一般可以通过ContentProvider类所提供的query(),insert(),update(),getType等方法去访问数据。严格意义上来说,ContentProvider并不是一种数据存储方式,而是一种对数据库中数据的封装,最终会以.db文件形式存储在手机上,它的访问方式与数据库的访问方式基本相似,操作起来也与数据库相似,基本优缺点与数据库一样,但是在Android设备中的各个应用程序间的数据应该是相互保密的,所以这种存储方式在Android开发过程中比较少用。

2.4 SQLite数据库存储

SQLite是一个可用于嵌入式设备开发的强大的轻量级数据库,支持SQL语言。它资源占用率非常低、运行效率高,具有独立性、隔离性、跨平台、安全性等多种特性,特别适合于嵌入式设备开发,目前已经应用在很多嵌入式设备开发领域中。在使用SQLite时,最常用到两个类:SQLiteDatabase和SQLiteOpenHelper。

SQLiteDatabase是Android的核心类之一,该类封装了一系列数据库操作的API,对数据库进行增、删、改、查等操作,进而完成对数据库的创建、删除。

上一篇:Airbnb“进入”中国 下一篇:英威达:将创新融入纤维 创造无限可能