欢迎来到天天文库
浏览记录
ID:31359100
大小:103.50 KB
页数:4页
时间:2019-01-09
《基于android开发的app数据存储研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Android开发的APP数据存储研究 摘要:作为一个完整的应用程序,数据存储操作是必不可少的。Android系统一共提供了四种数据存储方式分别为File文件存储、SharedPreferences存储、ContentProvider存储和SQLite数据库存储。该文以“爱自己”健康APP为例,简单地介绍了这些本地数据存储的原理和特点,并对其优缺点进行了分析。 关键词:数据存储,数据管理,存储机制 中图分类号:TP311文献标识码:A文章编号:1009-3044(2016)28-0012-02 Abstract:Asaco
2、mpleteapplication,datastorageoperationisnecessary.TheAndroidsystemprovidesatotaloffourkindsofmethodofdatastorage:theFilefilesarestoredandSharedPreferences,ContentProviderstorageandSQLitedatabasestorage.Basedonthis,throughtothistopictocompletethe"loveyourself"healthAPP,s
3、implyintroducestheprincipleandcharacteristicsofthelocalstorage,andanalysestheiradvantagesanddisadvantages. Keywords:datastorage;datamanagement;storagemechanism 1引言4 随着社会的飞速发展和人民生活水平的进一步提高,人们已经不仅仅满足于生活的温饱和娱乐,而是更多地去关注自身的身体健康,去追求健康的生活方式。本课题开发和设计了一款基于Android平台的“爱自己”健康医疗A
4、PP,算法和数据是这个软件的程序运行的核心,相应的Android开发平台提供了各种数据存储机制,使得这个健康APP在进行数据存储和管理时可以选择使用不同的方式。本文对Android系统提供的存储方式进行了简单研究,以及本次创新项目完成的“爱自己”健康APP的存储方式选择。 2数据存储方式 2.1File文件存储 File文件存储就是以I/O流形式来对数据进行保存和读取,可以直接将数据输出到文件中,以文件的形式存入手机内存或者SD卡中,默认的存储目录是/data/data/Package_Name/files[1]。这是个默认私有
5、的文件,在访问这文件的时候需要设置操作模式为可读或可写。它主要是提供了openFileOutput()和openFileInput方法对文件进行读写。文件存储是Android中最基本的一种数据存储方式,不仅能将大量的数据存储到系统中,还能存储到手机SD卡上,进而节省了手机自身的存储空间,比数据库存储实现简单。但是它的缺点是更新数据比较麻烦,数据不能共享和进行条件访问。 2.2SharedPreferences存储 SharedPreferences是在Android平台上使用的一个轻量级存储类,一般用来保存一些简单的配置信息,实质
6、上是以.xml文件形式来存储key-value键值对数据,其对应的文件可以是在/data/data/4Package_Name/shared_prefs文件夹中找到,跟文件存储一样,这样的文件也是默认私有的,在多个应用程序之间是无法共享数据的。SharedPreferences对象本身只能获取数据,并不能支持数据存储和数据修改的操作,只能通过SharedPreferences.Editor()对象来进行这些操作。SharedPreferences对象不用像数据库管理那样创建数据库、创建表、写SQL语句等操作,相对而言快速、方便、简洁。
7、但是这种方式只能存储boolean、int、float、long和String5种简单数据类型,而且数据是以XML格式存储到手机内存中,无法存储大量的数据。 2.3ContentProvider存储 ContentProvider为存储和获取数据提供了统一的接口。ContentProvider一般使用表的形式来组织数据,每一个ContentProvider都对外拥有一个公共的URL,Android设备上的任何程序都可以通过这个URL来访问或对数据进行操作,实现了应用程序之间的数据共享[2]。用户一般可以通过ContentProvi
8、der类所提供的query(),insert(),update(),getType等方法去访问数据。严格意义上来说,ContentProvider并不是一种数据存储方式,而是一种对数据库中数据的封装,最终会以.db文件形
此文档下载收益归作者所有