安卓androidstudio访问本地接口_安卓开发之数据存储在本地的四种方式
安卓开发之数据存储在本地的四种方式
本地数据存储,在安卓开发过程中是不可避免的一个话题。这些本地的数据可能是用户的设置,程序的设置,用户的数据图片, 也可能是网络传输的一些缓冲数据。
基本上我们有4种方法可以存储安卓程序的数据。
第1种是Shared Preference(共享选项)。
这种方法适合于存储一些基本数据类型的数据。他提供的是key-value(键值)的方式。键必须是字符串类型的,值可以是布尔型的,浮点型的,整型的,长整型的,或者字符串类型的。
这种方式是用一个xml文件在私有的目录里面存放这些数据的。一个程序可以有多个这样的文件。
下面一段代码用来描述写入数据。
第2种是Internal Storage(内部存储)。
这种方式用来存储一些复杂的数据结构。因为是内部存储方式,所以其他程序无法访问。这样可以保证数据的安全性。当你的程序卸载以后,这些内部存储数据也会被清除掉。
这类数据一般包括像一些对象,或者本地需要一些类似文件系统访问模式的数据。
下面一段代码用来写入数据。
第3种是External Storage(外部存储)。
这种存储方式用来存储一些文件对象。这些文件可以被其他程序来访问。要使用外部存储,需要申请特别的写权限WRITE_EXTERNAL_STORAGE。如果其他程序需要访问这些外部存储数据的话,也需要申请读权限READ_EXTERNAL_STORAGE 。
从安卓4.4开始,用户可以把自己的数据写入一个私有的外部存储文件夹中,如果这样的话,用户就不需要申请写权限WRITE_EXTERNAL_STORAGE。当用户卸载程序的时候,这个文件夹也会被清除。
从安卓7.0开始, 安卓程序可以申请访问特定的文件目录,而不是申请访问整个外部存储空间。这样可以保证数据的安全性,防止误操作。用户只可以访问图片目录,或者文档目录。
第4种是SQLite database(数据库)。
这种方式需要了解一些数据库方面的知识。适合存储相对结构化的数据。尤其是表结构。数据库是跟当前程序绑定的其他程序无法访问。
下面一段代码用来展示写入数据。
这里是丁哥开讲,欢迎留言进行进一步的讨论,谢谢。
与此同时请关注一下我们的合作伙伴。
安卓androidstudio访问本地接口_安卓开发之数据存储在本地的四种方式相关推荐
- java websocket注解_【websocket】spring boot 集成 websocket 的四种方式
集成 websocket 的四种方案 1. 原生注解 pom.xml org.springframework.boot spring-boot-starter-websocket WebSocketC ...
- mysql数据存储方式_数据存储在mysql的两种方式
数据存储在mysql的两种方式 发布时间:2020-05-12 16:16:25 来源:亿速云 阅读:250 作者:三月 下文主要给大家带来数据存储在mysql的两种方式,希望这些内容能够带给大家实际 ...
- Android应用开发:数据存储和界面展现-1
1. 相对布局RelativeLayout 特点:相对布局所有组件可以叠加在一起:各个组件的布局是独立的,互不影响:所有组件的默认位置都是在左上角(顶部.左部对齐) 属性 功能描述 android:l ...
- iOS开发之数据存储
概览 在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库.例如前面IOS开发系列-Objective-C之Foundation框架的文章中提到归档.plist文件存储, ...
- 访问数据库的四种方式
IRIS 中支持的四种方式: SQL.Objects.REST 和 GraphQL 卡济米尔·马列维奇,<运动员>(1932) > > "你当然无法理解! 习惯了 ...
- photon四种同步方式_【Linux】多线程同步的四种方式
背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通过多线程模拟多窗口售票为例: #include #include#include#include#include#include us ...
- stream去重_重复数据如何处理?List集合去重的四种方式
List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的方法就可以大大提高我们开发的效率,适当活用各种方法才会使我们开发事半功倍.但是,有时候难免会遇到集合里的数据是重复的,需要进行去除. ...
- php访问url的四种方式
php访问url的四种方式 1.fopen方式 //访问指定URL函数 [php] view plain copy print? function access_url($url) { if ($ur ...
- java类加入到spring容器_普通java类加入spring容器的四种方式
今天在自己开发的工具类中使用了spring注入的方式调用了其他类,但是发生的报错,在整理了后今天小结一下. 首先简单介绍下spring容器,spring容器是整个spring框架的核心,通常我们说的s ...
最新文章
- Java开发买低压本还是标压本_标压和低压,笔记本怎么选才最香?
- delphi接口基本学习摘录
- python顺序结构实验_Python程序设计实验报告二:顺序结构程序设计
- vsFTP服务器的配置
- 那些关于浏览器的趣图和幽默段子
- JavaScript实现复选框全选与全不选的效果
- [jQuery] 你有写过jQuery的扩展吗?都有哪些写法?
- GPU版的tensorflow在windows上的安装时的错误解决方案
- 附加一个:为什么要用简单工厂模式
- windows镜像_什么是windows镜像?什么是Ghost?它们有什么优缺点?
- pcm 采样率转换_高速模数转换器 ADC 树立了实时监测和控制的标准
- Apache Commons BeanUtils包学习 2 -beanutils PropertyUtils bean
- codeBook背景建模
- 贝塞尔曲线均匀插值算法
- 17.光照(点光源)
- 程序员裸辞,利用1个月时间全力找工作,怎么样?
- 时间换算--C语言结构练习
- python中base函数_详细的python basemap中各函数的所有参量注释
- centos7 下greenplum 安装初始化使用
- 争议不断的AI绘画,靠什么成为了顶流?
热门文章
- 市直系统推荐市级以上表彰的_推荐市级以及以上教学方面表彰的细则
- ksrot php_php中ksort函数的功能起什么作用呢?
- STM32的AFIO时钟什么时候开启?
- python源码多平台编译_提升Python程序运行效率的6个方法
- rssi定位算法 c语言,【论文※】An RSSI Gradient-based AP Localization Algorithm 基于RSSI梯度的AP定位算法...
- Python GIL
- Qt图形界面编程入门(5)
- python出现traceback什么意思_python-异常处理 traceback获取详细异常
- 介绍一下再Apache下的Tomcat负载均衡的一些使用问题
- Quartus II 8.1 详解--有图---图片详解 【1讲】