可以将数据储存在内置或可移动存储,数据库,网络,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数据储存之存储方式相关推荐

  1. Android 数据储存的方式之本地数据库储存

    Android 数据储存的方式有很多种 -- SharedPreferences 储存  . 文件储存 . 数据库储存 . 网络储存(储存到后台网络) ,虽然储存方式那么多,但是这些储存方式也有一定的 ...

  2. C语言详解|float类型 数据的储存的存储方式详解

    文章目录 浮点数的储存规则 浮点数在内存中的储存方式 有效数字M部分 指数E部分 E全不为0 或者 E 全不为1 E全是0 E全是1 浮点数的储存规则 浮点数与实型数据的存储方式是不同的   num ...

  3. 大数据有哪些存储方式?

    大数据的火热,带来的是大数据相关技术的火热,大数据处理当中面临的第一道障碍就是关于大数据存储的问题.那么针对于大数据存储问题的解决,大数据的存储方式有哪些,在这些大数据存储方式上又该如何选择,下面我们 ...

  4. Android基础篇-五大存储方式之一数据库存储

    废话不多说,直接看代码 activity_main: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/a ...

  5. Android数据储存之SharedPreferences总结

    写在前面:本文是我参考李刚老师的<疯狂Android讲义>以及API所写的读书笔记,在此表示感谢,本人小白,如有错误敬请指教. SharedPreferences的使用背景: 有时候,应用 ...

  6. android数据存放map_Android存储数据到本地文件

    xml文件 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pare ...

  7. 表:数据的主要存储方式

    --一.创建表CREATE TABLE --基本语法 CREATE TABLE TABLE_NAME ( FIELD1 DATA_TYPE [NOT NULL],FIELD2 DATA_TYPE [N ...

  8. 深入剖析Android中最简单的数据存储方式:SharedPreferences

    目录 一. 使用SharedPreferences存储数据 二. 数据的存储位置和格式 三.存储数据的获取 四. 存取复杂类型的数据 五. 设置数据文件的访问权限 Hello,你好呀,我是灰小猿,一个 ...

  9. 谈谈android数据存储方式

    Android提供了5种方式存储数据: (1)使用SharedPreferences存储数据:它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式将数据存储到设备中.只能在同一 ...

最新文章

  1. 区域链 信息存储的服务器,利用区块链储存明显优于传统的中心化服务器
  2. arm linux应用调用rtc接口,ARMLinux驱动RTC(实时时钟)驱动分析
  3. SBuild 0.1.4 发布,基于 Scala 的构建系统
  4. [渝粤题库]陕西师范大学《幼儿园语言教育》作业
  5. binlog数据库不写入binlog_MySQL数据库及InnoDB存储引擎的日志文件
  6. oracle 01035,oracle常用命令(一)
  7. 使用lua实现nginx rewrite
  8. java calendar clear_java.util.Calendar clear()方法
  9. 红警 1 游戏开源,代码非常规范,网友:秀色可餐
  10. Java学习之基本概念
  11. 计算机苏教版初一教案,文笔精华(苏教版七年级) 教案教学设计
  12. 聚溶众星CEO朱纯仪:MCN一年营收2.5亿,带货才是直播的未来
  13. Latex 安装与配置
  14. 基于NXP i.MX 8M Plus处理器的核心板和开发板有什么功能
  15. 【敏捷开发每日一贴】用户故事Userstory
  16. MySQL(九):InnoDB 表空间(Tables)
  17. 3D赛车游戏架构设计
  18. python输入一个小数,提取整数部分
  19. 欧拉回路,欧拉路径,欧拉图详解
  20. 用计算机画有常数的函数图像,信息技术应用 用计算机画函数图象课堂实录【3】...

热门文章

  1. NLP模型常见报错(定期更新)
  2. c#高级编程第11版 pdf网盘_c#高级编程_c#高级编程 目录 微盘_c#高级编程第10版 pdf...
  3. 嫁给幸福 ——汪国真
  4. 人工智能数学基础---定积分8:无穷限反常积分审敛法
  5. android视频播放器Vitamio的使用
  6. 万能工具包,软件集合工具
  7. Qt MetaObject 介绍
  8. 网页爬虫之cookie自动获取
  9. esp32 接摄像头_这个小偷真大胆 大白天竟敢偷监控摄像头
  10. 说说对测试培训的一些看法