Android存储系统基础知识

news2024/12/23 23:18:55

英文原版链接→

Android存储系统概览图(图片模糊的话请拖动图片至新标签页打开):

Android存储系统概览

从 Android 的角度来看 → 内部存储和 → 外部存储

  1. 内部存储

    内部存储只能通过已取得 root 权限的设备进行访问。

    1. 应用程序包保存在: /data/data/<packageName>/

    2. 私有目录在: /data/user/0/<packageName>/files/

    私有目录可与文件组件一起使用来保存/读取文本(设置不带斜杠的路径),它只能由您的应用程序访问,并且在卸载应用程序时会自动删除。

  2. 外部存储

    外部存储的根目录是:

    /storage/emulated/0/ or

    file:///mnt/sdcard/ or

    file:///storage/emulated/0/

    要访问外部存储,需要 READ_ 或 WRITE_EXTERNAL_STORAGE 权限。

    1. App特定目录 ASD(App-specific directory)

      此外,可能还有一个特定于应用程序的目录(ASD),可以使用以下命令创建

      Taifun 的文件扩展

      FileTools 扩展

      ASD的路径是:/storage/emulated/0/Android/data/<packageName>/files/

      它位于外部(私有)存储中,但不需要 READ_ 或 WRITE_EXTERNAL_STORAGE 权限,ASD只能由您的应用程序访问,并且在卸载应用程序时会自动删除。

    2. 外部(可移动/微型)SD 卡

      可能还有另一个外部存储:可移动(微型)SD 卡,例如:/storage/82C3-E96C/

      只能读取(在 Android ≥ 4.4 / KitKat、API 19 的设备上)。

      注:外部存储的根目录:/storage/emulated/0/,在设备上显示为内部存储(不幸的是,这有点含糊)。

绝对路径(Absolute path) │ 相对路径(relative path) │ 完整路径(full path)

  1. 这是一个 → 绝对路径:/storage/emulated/0/Android/data/<packageName>/files/

  2. 这是一个 → 相对路径:/Android/data/<packageName>/files

    有些组件需要相对路径,有些则需要绝对路径。

  3. 最重要的是,某些组件或 Android 版本需要 → 完整路径:file:///storage/emulated/0/Android/data/<packageName>/files/

    可以使用这些术语来区分路径,例如:

    类型路径
    相对路径/Download
    绝对路径/storage/emulated/0/Download
    完整路径file:///storage/emulated/0/Download

getASD代码实现

使用文件管理器组件可以实现ASD目录的获取,代码如下:

getASD

以上代码可快速导入项目,无需重复造轮子,请看这里。

ASD vs 私有目录

App特定目录 ASD(App-specific directory)私有目录
存储外部存储内部存储
目录/storage/emulated/0/Android/data/<packageName>/files//data/user/0/<packageName>/files/
只能由应用程序访问
卸载App时自动删除

原文链接:Android存储系统基础知识:内部存储,外部存储,App特定目录 ASD(app specific directory) 及 getASD代码实现 · App Inventor 2 中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1422745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

家政小程序开发

随着人民生活水平的提高&#xff0c;我国老龄化日益增加&#xff0c;越来越多的家庭对家政服务需求也日益提升。目前&#xff0c;家政服务业已经成为了人们日常生活中不可缺少的一部分&#xff0c;家政服务市场具有较大的发展潜力。 近几年&#xff0c;家政服务市场规模呈快速…

驱动开发KMDF编译时:cannot open sourcefile “device.tmh“

有人说 设置项目的 WPP Tracing -> 设置 "Run Wpp Tracing" 为 YES&#xff0c;但是属性页压根没有这玩意啊&#xff1f;咋回事呢&#xff1f; 别人的工程属性页是这样的&#xff0c;这是为什么&#xff1f;

IT运维如何帮助企业降本增效?

IT监控运维管理技术发展应用和趋势 1、智能运维 随着人工智能和大数据技术的发展&#xff0c;智能运维将成为IT监控运维管理的重要趋势。通过利用机器学习、深度学习等技术&#xff0c;实现对IT系统的自动化监控、故障预测和智能维护&#xff0c;提高运维效率和质量。 2、容…

数字化转型对企业发展有哪些帮助?

数字化转型利用技术增强流程、运营和客户体验&#xff0c;在业务发展中发挥着至关重要的作用。以下是数字化转型促进企业发展的一些助力&#xff1a; 1.提高效率和生产力&#xff1a; 日常任务和流程的自动化有助于简化操作&#xff0c;减少完成它们所需的时间和精力。数字工…

瑞_数据结构与算法_红黑树

文章目录 1 什么是红黑树1.1 红黑树的背景1.2 红黑树的特性 ★★★ 2 红黑树的Java实现2.1 红黑树颜色枚举类Color2.2 红黑树节点类Node2.2.1 实现判断是否是左孩子方法isLeftChild()2.2.2 实现查找叔叔节点方法uncle()2.2.3 实现查找兄弟节点方法sibling() 2.3 红黑树类RedBla…

《Pandas 简易速速上手小册》第1章:Pandas入门(2024 最新版)

文章目录 1.1 Pandas 简介1.1.1 基础知识1.1.2 案例&#xff1a;气候变化数据分析1.1.3 拓展案例一&#xff1a;金融市场分析1.1.4 拓展案例二&#xff1a;社交媒体情感分析 1.2 安装和配置 Pandas1.2.1 基础知识1.2.2 案例&#xff1a;个人财务管理1.2.3 拓展案例一&#xff1…

Qt之QLabel介绍

概述 QLabel是QT界面中的标签类&#xff0c;它从QFrame下继承&#xff0c;QLabel 类代表标签&#xff0c;它是一个用于显示文本或图像的窗口部件。我们主要介绍一下QLabel的一些简单的使用。 设置颜色背景色和字体的颜色大小 字体及颜色 设置文字使用的是setText函数。 QStri…

linux中常用的命令

一&#xff1a;tree命令 &#xff08;码字不易&#xff0c;关注一下吧&#xff0c;w~~w) 以树状形式查看指定目录内容。 tree --树状显示当前目录下的文件信息。 tree 目录 --树状显示指定目录下的文件信息。 注意&#xff1a; tree只能查看目录内容&#xff0c;不能…

如何抠图换背景?分享6个不能错过的工具!

在数字化时代&#xff0c;抠图换背景已经成为了一种常见的图像处理需求。无论是出于商业宣传、个人创作还是日常生活分享的需要&#xff0c;抠图换背景都能帮助我们创造出更具视觉冲击力、更富有个性的图片。那么&#xff0c;如何进行抠图换背景呢&#xff1f;又有哪些工具可以…

云计算HCIE备考经验分享

大家好&#xff0c;我是来自深圳信息职业技术学院22级鲲鹏3-1班的刘同学&#xff0c;在2023年9月19日成功通过了华为云计算HCIE认证&#xff0c;并且取得了A的成绩。下面把我的考证经验分享给大家。 转专业进鲲鹏班考HCIE 大一上学期的时候&#xff0c;在上Linux课程的时候&…

2024新鲜出炉 Java集合常见面试题总结(上)

2024新鲜出炉 Java集合常见面试题总结(上) 文章目录 2024新鲜出炉 Java集合常见面试题总结(上)集合概述Java 集合概览说说 List, Set, Queue, Map 四者的区别&#xff1f;集合框架底层数据结构总结ListSetQueueMap 如何选用集合?为什么要使用集合&#xff1f; ListArrayList 和…

MySql 慢SQL配置,查询,处理

一.慢SQL配置相关 1.查看慢SQL是否开启 执行下面命令查看是否开启慢SQL show variables like %slow_query_log; 复制代码 OFF: 未开启ON: 2.打开慢SQL配置 执行下面的命令开启慢查询日志 set global slow_query_logON; 复制代码 3.修改慢查询阈值 前面介绍了SQL执行到达了…

SD-WAN和专线混合组网:企业出海网络解决方案

目前&#xff0c;有很多国内企业涉足海外业务&#xff0c;如跨境电商、游戏、社交网络、区块链等。都会使用海外服务器。同时&#xff0c;这些企业在国内还有自己的机房&#xff0c;IDC或者使用国内其他云厂商的机房。如果他们想要相互通信或传输数据该怎么办&#xff1f;在成本…

【数据结构】链表的一些面试题

简单不先于复杂&#xff0c;而是在复杂之后。 链表面试题 删除链表中等于给定值 val 的所有结点。OJ链接 //1.常规方法struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode* cur head, *prev NULL;while(cur){if(cur->val val){//1.头删/…

WPF入门到跪下 第十一章 Prism(五)IOC的依赖注入

IOC的依赖注入 一、构造函数方式的依赖注入 以项目启动时MainWindowViewModel的依赖注入为例&#xff0c;默认情况下Prism框架的项目&#xff0c;在打开窗口时会自动匹配主窗口的视图模型类&#xff08;PrismApplication启动&#xff09;&#xff0c;这里是MainWindowViewMod…

外汇天眼:纽约总检察长起诉花旗银行,指责其未能保护欺诈受害者

纽约总检察长莉蒂西亚詹姆斯今天起诉花旗银行&#xff0c;指责其未能保护并拒绝偿还欺诈受害者。该诉讼声称&#xff0c;花旗银行没有实施强有力的在线保护措施来阻止未经授权的账户劫持&#xff0c;误导账户持有人关于账户被黑客攻击并且资金被盗后的权利&#xff0c;并非法地…

uniapp多格式文件选择(APP,H5)

uniapp多格式文件选择&#xff08;APP&#xff0c;H5&#xff09; 背景实现代码实现运行结果注意事项 尾巴 背景 从手机选择文件进行上传是移动端很常见的需求&#xff0c;在原生开发时由于平台专一性很容易实现。但是用uniapp开发官方提供的API在APP平台只能选择图片和视频&a…

负载均衡下的webshell连接

一、环境配置 1.在Ubuntu上配置docker环境 我们选择用Xshell来将环境资源上传到Ubuntu虚拟机上&#xff08;比较简单&#xff09; 我们选择在root模式下进行环境配置&#xff0c;先将资源文件复制到root下&#xff08;如果你一开始就传输到root下就不用理会这个&#xff09; …

手把手教测试,全网内容最全最深-jmeter-Recording Controller(录制控制器)

5.1.6.14.Recording Controller(录制控制器) 第一步&#xff1a; 第二步&#xff1a;点击启动按钮&#xff0c;生成证书。证书在jmeter的bin目录下。 第三步&#xff1a;设置代理 第四步&#xff1a;抓取https包需要安装证书&#xff0c;在浏览器edge中安装 未完待续。。。 手…

Django4.2(DRF)+Vue3 读写分离项目部署上线

文章目录 1 前端2 后端2.1 修改 settings.py 文件关于静态文件2.2 关于用户上传的文件图片 3 Nginx4 镜像制作4.1 nginx4.3 Django镜像4.3.1 构建 5 docker-compose 文件内容 1 前端 进入前端项目的根目录&#xff0c;运行如下命令进行构建 npm run build构建完成后&#xff…