android数据储存之存储方式
可以将数据储存在内置或可移动存储,数据库,网络,sharedpreference。
android可以使用Content provider来使你的私有数据暴漏给其他应用程序。
一.sharedpreference
得到sharedpreference的两种方法:
1.getSharedPreferenced():使用这个方法你可以定义多个preference文件
2.getPreferenced():只创建一个preference文件
sharedpreference不是严格用来储存“用户配置”的,比如说储存用户的铃声。若你的应用程序对创建用户配置感兴趣,可以使用PreferenceActivity、
二.内置储存
创建并写一个文件的步骤:
使用openFileOutPut得到FileOutputStream,通过这个流来写数据。
从内置储存读数据步骤:
使用openFileInput得到FileInputStream,通过这个流来读数据。
如果你想在编译的时候在你应用中保存一个静态的文件,可以保存在res/raw/路径,通过调用openRawResource传入R.raw.<filename>打开。
如果你想缓存数据而不是将数据持久化,那当你想缓存数据时可以使用openCacheDir()来打开一个内部储存空间的文件。
当设备的内置储存空间不足时,Android会删除这些文件来恢复空间。然而你不必主动删除这些文件,但是你应该对缓存文件占的空间大小做个限制,不如说1M.
其他有用的方法:
getFileDir():得到你内置文件的绝对路径。
getDir()创建(或打开一个存在)的路径。
deleteFile()删除一个内置文件
fileList()返回当前应用程序中所有内置文件列表
三.外部储存
如果你既想write外部储存,又想read外部储存,只需请求 WRITE_EXTERNAL_STORAGE
的权限。
<manifest ...><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"android:maxSdkVersion="18" />... </manifest>
(当版本低于18的使用添加权限)
从Android4.4开始,若想使用应用程序的私有文件不许要读写外部储存的权限。
可以通过将文件放入Music/,Pictures/,RingTone/来和其他应用分享这个文件。
若你不想系统的多媒体浏览器可以浏览你的多媒体文件,可以在你的文件夹中添加.nomedia的文件。
得到公共文件夹的方法 getExtenrnalStoragePublicDirectory()将参数DIRECTORY_MUSIC/DIRECTORY_PICTURES/DIRECTORY_RINGTONE传入。
以下为在公共图片文件夹下添加一个相册:
public File getAlbumStorageDir(String albumName) {// Get the directory for the user's public pictures directory.File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), albumName);if (!file.mkdirs()) {Log.e(LOG_TAG, "Directory not created");}return file; }
你可以使用getExtenrnalFileDir()在外置储存中得到私有多媒体储存路径
当用户删除你的应用的时候这些文件将会被删除
这些文件不会被系统的多媒体浏览器发现但是对于有READ_EXTERNAL_STORAGE权限的应用是可access的。
通过getExternalCacheDir()来得到外置储存空间的缓存区。当应用程序被卸载时,这些文件也将被删除。
需要仔细管理缓存区,删除那些在你app生命周期不再使用的缓存
四.使用数据库
五.使用网络
android数据储存之存储方式相关推荐
- Android 数据储存的方式之本地数据库储存
Android 数据储存的方式有很多种 -- SharedPreferences 储存 . 文件储存 . 数据库储存 . 网络储存(储存到后台网络) ,虽然储存方式那么多,但是这些储存方式也有一定的 ...
- C语言详解|float类型 数据的储存的存储方式详解
文章目录 浮点数的储存规则 浮点数在内存中的储存方式 有效数字M部分 指数E部分 E全不为0 或者 E 全不为1 E全是0 E全是1 浮点数的储存规则 浮点数与实型数据的存储方式是不同的 num ...
- 大数据有哪些存储方式?
大数据的火热,带来的是大数据相关技术的火热,大数据处理当中面临的第一道障碍就是关于大数据存储的问题.那么针对于大数据存储问题的解决,大数据的存储方式有哪些,在这些大数据存储方式上又该如何选择,下面我们 ...
- Android基础篇-五大存储方式之一数据库存储
废话不多说,直接看代码 activity_main: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/a ...
- Android数据储存之SharedPreferences总结
写在前面:本文是我参考李刚老师的<疯狂Android讲义>以及API所写的读书笔记,在此表示感谢,本人小白,如有错误敬请指教. SharedPreferences的使用背景: 有时候,应用 ...
- android数据存放map_Android存储数据到本地文件
xml文件 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pare ...
- 表:数据的主要存储方式
--一.创建表CREATE TABLE --基本语法 CREATE TABLE TABLE_NAME ( FIELD1 DATA_TYPE [NOT NULL],FIELD2 DATA_TYPE [N ...
- 深入剖析Android中最简单的数据存储方式:SharedPreferences
目录 一. 使用SharedPreferences存储数据 二. 数据的存储位置和格式 三.存储数据的获取 四. 存取复杂类型的数据 五. 设置数据文件的访问权限 Hello,你好呀,我是灰小猿,一个 ...
- 谈谈android数据存储方式
Android提供了5种方式存储数据: (1)使用SharedPreferences存储数据:它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式将数据存储到设备中.只能在同一 ...
最新文章
- 区域链 信息存储的服务器,利用区块链储存明显优于传统的中心化服务器
- arm linux应用调用rtc接口,ARMLinux驱动RTC(实时时钟)驱动分析
- SBuild 0.1.4 发布,基于 Scala 的构建系统
- [渝粤题库]陕西师范大学《幼儿园语言教育》作业
- binlog数据库不写入binlog_MySQL数据库及InnoDB存储引擎的日志文件
- oracle 01035,oracle常用命令(一)
- 使用lua实现nginx rewrite
- java calendar clear_java.util.Calendar clear()方法
- 红警 1 游戏开源,代码非常规范,网友:秀色可餐
- Java学习之基本概念
- 计算机苏教版初一教案,文笔精华(苏教版七年级) 教案教学设计
- 聚溶众星CEO朱纯仪:MCN一年营收2.5亿,带货才是直播的未来
- Latex 安装与配置
- 基于NXP i.MX 8M Plus处理器的核心板和开发板有什么功能
- 【敏捷开发每日一贴】用户故事Userstory
- MySQL(九):InnoDB 表空间(Tables)
- 3D赛车游戏架构设计
- python输入一个小数,提取整数部分
- 欧拉回路,欧拉路径,欧拉图详解
- 用计算机画有常数的函数图像,信息技术应用 用计算机画函数图象课堂实录【3】...