# Android 文件分区存储适配教程
## 流程步骤表格
| 步骤 | 说明 |
| ---- | ---- |
| 1 | 获取应用的存储权限 |
| 2 | 使用 StorageManager 获取分区信息 |
| 3 | 根据分区信息选择对应的存储空间 |
| 4 | 在选择的存储空间中进行文件操作 |
## 每一步具体操作
### 步骤 1:获取应用的存储权限
```java            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-02 06:44:48
                            
                                149阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本章正题:磁盘分区1.1 磁盘分区表1.1.1 MBR主引导记录(引导系统启动)   位置:位于0磁头,0磁道,1扇区的前446字节字节,64字节分区表,2字节分区结束标志 1.1.2 主分区primary: 1)一般一定要有(引导系统)        &nb            
                
         
            
            
            
            Dsp
Partition for adsp dymanic loaders image
Modemst1
Copy of Modem File System (Encrypted)
Modemst2
Copy of Modem File System (Encrypted)
DDR
Partition for DDR.
Fsg
Golden copy or backup of Modem Fil            
                
         
            
            
            
            2、Android 11上的主要变更2.1 兼容性2.1.1 分区存储(Scoped storage 也叫沙盒存储机制)说明:分区存储机制使得应用在外部存储空间能有一块属于自己的专用存储区域,这块区域是私有的,因此,这块区域非常适用于保存用户的私有数据。当然,应用无法访问其他应用的专用存储区域。但如果应用需要将自己专用存储区域的特定文件让其他应用也访问得到,可以通过设置文件分享的方式,去为这些文件            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-24 14:41:22
                            
                                765阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Android 11 引入了分区存储的概念,这是一种新的存储策略,以提高用户数据隐私保护和应用安全性。在 Android 11 中,应用程序的访问权限被限制,只有在应用明确请求后,才能访问用户的存储空间。
为了适应 Android 11 的分区存储,开发人员需要对现有应用进行调整。本文将介绍如何适配应用程序以适应 Android 11 的分区存储,并提供一个示例。
## 问题描述
在 And            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-11 06:34:35
                            
                                129阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.内存分配策略
对象 / 变量的内存分配 由程序自动 负责
共有3种:静态分配、栈式分配、 & 堆式分配,分别面向静态变量、局部变量 & 对象实例
具体介绍如下
memory_tenet.jpg
用一个实例讲解 内存分配
public class Sample {
// 该类的实例对象的成员变量s1、mSample1 & 指向对象存放在堆内存中
int s1 = 0;
S            
                
         
            
            
            
            内存管理1. 内存管理机制概述1. 分配机制操作系统会为每个进程分配合理的内存大小,保证每一个进程能够合理的运行,而不至于内存不够用或者某个进程占用太多的内存。2. 回收机制系统内存不足时,会有一个合理的回收再分配内存的机制,保证新的进程能够正常运行。2. Android内存管理机制1. 分配机制弹性内存分配:开始分配一个小的内存大小(根据物理设备的内存大小决定),等到当前内存不够使用时,会逐步分            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-28 10:36:34
                            
                                34阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、Android文件系统Android文件系统分为 内部存储(internal storage) 和外部存储(external storage)1.1 用一个表格来直观对比一下两者:1.2 应用的私有路径应用在安装之后,系统会自动在内部存储和外部存储,分别建立应用的私有存储区域。内部存储 : data/user/0/packageName 外部存储 : storage/emulated/0/an            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-05 12:42:22
                            
                                541阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            终于开始了Android 11的适配工作。记录一下,供需要的人参考。1. 准备工作老规矩,首先将我们项目中的 targetSdkVersion 改为 30。或者使用兼容性调试工具,后面我会说到。2. 存储机制更新Scoped Storage(分区存储)具体适配方法和去年的Android 10 适配攻略中的没有太大区别。不过需要注意的是,应用targetSdkVersion >= 30,强制            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-18 13:49:31
                            
                                124阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本文实例分析了Android持久化技术之文件的读取与写入操作。分享给大家供大家参考,具体如下:1、文件存储(1)在Android的持久化技术中,文件存储是最基本的一种数据存储方式。(2)对存储的内容部做任何处理,原样存储到文件中。(3)Context提供了文件写入与读取的方法,openFileOutput:写入到文件;openFileInput:从文件中读取。(4)文件写入时模式有多种:比如是覆盖            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-14 11:07:01
                            
                                124阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            /system_ext 分区作为可选分区。(该分区是放置 /system 分区中与 AOSP 定义的组件紧密耦合的非 AOSP 组件的位置。)/system_ext 分区被视为是 /system 分区特用于 OEM 的扩展,且未在两个分区间定义接口vendor:包含所有不可分发给 Android 开源项目 (AOSP) 的二进制文件。如果没有专有信息,可以不要该分区。product:用于存放产品专            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-26 12:00:26
                            
                                1357阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在 Android 12 上,谷歌对存储访问权限进行了强化,强制实施了存储分区适配。这项改动不仅影响了应用存储数据的方式,也在很大程度上改变了开发者与文件系统交互的逻辑。为了适应这一变化,开发者需要理解如何有效地进行存储访问权限的配置和管理,以便保证应用的正常运行。以下是关于如何适配 Android 12 上强制存储分区的详尽过程。
### 环境准备
为了顺利进行适配,你需要一些开发环境的支持            
                
         
            
            
            
            本文仅仅是接口说明,对于具体的使用方式,后续会说明。为了让用户更好地管理文件并减少混乱,Android 10(API 级别 29)引入了分区存储。分区存储是应用只能看到本应用特定的目录下的文件(通过 Context.getExternalFilesDir() 访问),公共目录下的媒体文件(通过MediaStore访问),以及存储访问框架返回的文件,不能像以前为所欲为了。Android10(API级            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-16 14:47:11
                            
                                38阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Android 分区存储:文件读写指南
在Android 10及以后的版本中,分区存储(Scoped Storage)成为管理应用文件访问的重要变化。它旨在提高隐私保护和文件管理的灵活性。本文将介绍如何在Android中进行文件的读写,包括适用权限、存储路径和代码示例。
## 1. 什么是分区存储?
分区存储限制了应用程序对整个设备存储的访问权限。每个应用只能访问自己的特定目录,而访问外            
                
         
            
            
            
            # Android 11 分区适配简介
随着 Android 系统的不断演进,Android 11 引入了对分区适配的一系列新特性,目的是为了提升应用的安全性与用户隐私。分区适配是指系统通过不同的方式管理应用对数据和设备资源的访问权限,以保护用户数据不被滥用。本文将深入探讨 Android 11 分区适配的原理、实现方式,并附带相关代码示例和关系图。
## 分区适配的核心概念
在 Andro            
                
         
            
            
            
            Android设备上,一般都会存在一块eMMC存储芯片来存放系统和用户数据,甚至部分的引导程序。一般设备出厂时,各个厂商都会将这块存储芯片分成很多的分区,每个分区内存放不同的内容。具体分区的布局每个厂商或者芯片供应商都会不一样。 1.  可以通过下面的命令来查看目前系统中到底有多少分区:cat /proc/partitions 这条命令会显示系统中的所有分区,以及每个分区的大小            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-27 19:42:55
                            
                                467阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            存储在内部还是外部所有的Android设备均有两个文件存储区域:“internal” 与 “external” 。 这两个名称来自于早先的Android系统,当时大多设备都内置了不可变的内存(internal storage)及一个类似于SD card(external storage)这样的可卸载的存储部件。之后有一些设备将"internal" 与 “external” 都做成了不可卸载的内置存            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-25 09:46:17
                            
                                2501阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、Android 10 以前的存储机制、二、Android 10 及以后的分区存储机制、三、Android 10 中的存储过渡方案、四、文件索引数据库、五、相关文档资料、            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-08 11:11:59
                            
                                584阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## Android 存储适配实现步骤
### 概述
在 Android 应用开发中,存储适配是一个重要的功能,它允许应用访问和操作设备上的文件和文件夹。本文将介绍如何实现 Android 存储适配,并给出每一步所需的代码示例和解释。
### 步骤
| 步骤 | 操作 |
|----|-----|
| 1 | 获取存储权限 |
| 2 | 检查存储状态 |
| 3 | 创建文件夹 |
| 4            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-08-02 07:46:57
                            
                                90阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            http://android.git.kernel.org/
Git:分布式的版本管理系统。
Windows上的Git程序   http://code.google.com/p/msysgit/downloads/list
克隆一个单独的子项目:
git clone git://android.git.kernel.org/ + project path. 
克隆整个项目,需要下载一个pytho