Android的数据存储方式

Android的数据存储技术

1.本地数据存取技术
• Shared Preferences(XML格式数据)
• File(二进制数据为主)
• SQLite(关系型数据)
2.远程数据存取技术
• 基于Socket使用TCP/IP直接访问网络服务器(数据
从 数据源直接传送到目的地)。
• 基于HTTP相关协议访问Web服务(从互联网上获
取HTML、json/xml、二进制格式的数据)

使用SharedPreferences保存数据

1.基本特点:
•数据以"key-value"方式存储与处理
•数据明文存储于xml文件中
•Android内置相应数据存取组件,使用简单方便
2.适用场景
•比较适合于保存少量的数据,更新不频繁,不
需要进行复杂的查询,并且对安全性没有太大
要求的场合。
3.存储数据步骤:
•用SharedPreferences对象的方法edit()获得一个Editor对象
•通过putString以键值<String key,String value>方式把字符串值写入Editor
•对象中,其他类型数据调用相应的put()方法。
•最后利用commit()或apply()方法提交数据。
4.适用范围:
•保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值。比如应用程序的各种配置信息(如是否打开音效、是否使用震动效果、小游戏的玩家积分等),解锁口 令密码等。

使用文件保存数据

1.基本特点
•可以保存任意类型、任意大小的数据,但是需要自行编
写数据解析代码
•Android使用标准Java编程方式,通过Stream(及派
生或组合类型)存取底层文件
2.适用场景
•保存二进制的,数据量较大的数据(比如照片、视频等)
• 有特殊格式的文本型数据
•有特殊处理需求的数据(比如数据需要加密后存储)
3.重要文件
•/data/app:保存各个应用
•/data/data:各个应用保存私有数据的地方
•/mnt/sdcard:代表SD卡的根目录
•/system:对应用只读,保存Android操作系统文件

使用关系数据库存储数据

1.基本情况
•Android内置对SQLite的支持,在android.database.sqlite包
中提供了相应的组件
•SQLite是一种单用户单文件型数据库,文件保存于本机内置存储空
间,占用系统资源小,适合于手机这种内存受限的运行环境
•如果其它App需要访问这些数据,可以使用Content Provider
2.适用场景
• 以文本型数据为主
•需要进行频繁的CRUD操作
3.数据类型
•NULL:空值
•INTEGER: 整数
•REAL:浮点数
•TEXT:文本与字符串
•BLOB:二进制类型的数据

手机、PC、智能设备之间数据直传

1.基本情况
• Android应用中,可以使用java.net和android.net
包中的类,基于TCP/IP协议(或其他网络协议)
创建网络应用程序,完成数据存取任务
2.典型场景
• 手机通过无线WiFi连入了局域网,需要与PC通讯
•各手机或相关智能设备之间短距离(比如通过蓝
牙,NFC,USB)直接交换数据

从互联网上传和下载文件

1.基本情况
•Android内置HTTP组件,可以访问互联网
• Android内置对Xml和Json格式数据的解析组件
有大量第三方组件可以访问互联网
2.应用场景
•一些互联网公司提供远程数据存取服务,它们向外界开放API
(通常是RESTful服务),Android应用可以调用这些API,提取或保存数据。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值