App Inventor 2 文件操作完整教程
覆盖:Android存储路径、查找文件、读写文件、拷贝到相册、FileTools扩展。
一、Android存储路径基础(必读)
1.1 三种路径类型
| 路径类型 | 示例 | 特点 |
|---|---|---|
| 私有目录 | /data/user/0/com.xxx/files/ | App专属,无需权限,卸载删除 |
| ASD目录 | /storage/emulated/0/Android/data/com.xxx/files/ | 外部私有,无需权限,卸载删除 |
| 公共目录 | /storage/emulated/0/Download/ | 所有App可访问,需要权限 |
1.2 ⚠️ 高版本安卓(Android 10+)的变化
- Android 10+ 限制访问公共目录,需要
READ/WRITE_EXTERNAL_STORAGE权限 - Android 11+ 进一步限制,推荐使用 ASD目录 或 MediaStore API
- 最佳实践:优先使用ASD目录,避免权限问题
1.3 获取ASD路径
二、文件组件基础操作
2.1 写入文件
2.2 读取文件
2.3 删除文件
三、FileTools扩展(推荐)
FileTools 扩展提供更强大的文件操作能力,封装了ASD路径,无需手动处理权限。3.1 核心方法
| 方法 | 说明 |
|---|---|
获取ASD路径 | 返回App的ASD目录路径 |
文件是否存在(路径) | 检查文件是否存在 |
复制文件(源, 目标) | 复制文件 |
移动文件(源, 目标) | 移动文件 |
删除文件(路径) | 删除文件 |
列出目录文件(路径) | 列出目录下所有文件 |
创建目录(路径) | 创建目录 |
获取文件名(路径) | 从路径提取文件名 |
获取文件大小(路径) | 获取文件大小(字节) |
3.2 查找手机上的文件
3.3 创建指定文件路径
四、拍照并保存到相册
4.1 问题说明
App Inventor 2 拍照后,图片默认保存在App私有目录,相册App看不到。 要让图片出现在相册,需要:- 将图片复制到公共目录(如
Pictures/) - 通知系统媒体库扫描新文件
4.2 代码块
4.3 ⚠️ 息屏后相册不显示的问题
原因:扫描媒体文件 在某些手机上需要重启才生效。
解决方案:
五、文件读写实战:本地日志系统
六、常见问题
Q1:文件路径怎么写?
Q2:读取文件返回空?
- 检查文件路径是否正确
- 确认文件已存在(用
FileTools1.文件是否存在检查) - 注意路径格式:私有目录用相对路径,ASD用绝对路径
Q3:保存到相册后重启才显示?
使用活动启动器 发送媒体扫描广播(见第四节方案2)。
Q4:Android 11+ 无法访问外部存储?
- 优先使用ASD目录(无需权限)
- 如必须访问公共目录,在AndroidManifest中声明
MANAGE_EXTERNAL_STORAGE权限(需要Google审核)
参考资料
文档版本:2026.03 | 作者:App Inventor 2 中文网 www.fun123.cn
参考资料与版权声明
原文来源
- MIT App Inventor 官方文档 - MIT App Inventor
- MIT App Inventor Community - MIT App Inventor Community
- MIT App Inventor GitHub - MIT CML
版权声明
本文档基于 MIT App Inventor 官方文档及社区资源整理,版权归原作者所有:- MIT App Inventor 官方文档采用 CC BY-SA 4.0 授权
- MIT App Inventor Community 帖子版权归原作者所有
