MAUI怎么做数据持久化 MAUI数据存储方案选择

来源:这里教程网 时间:2026-02-21 17:38:06 作者:

MAUI 做数据持久化,核心是选对路径 + 用对方式。不依赖第三方库也能安全、跨平台地存配置、缓存或用户文件,关键在于理解三种基础路径的用途和边界。

优先用 AppDataDirectory 存关键数据

这是最常用也最稳妥的选择,适合保存用户设置、登录态、结构化数据(如 JSON)、本地数据库文件等需要长期保留的内容。

路径由 FileSystem.AppDataDirectory 统一提供,各平台自动映射:Android 在
/data/data/{包名}/files
,iOS 在沙盒
Documents
目录,Windows 在
LocalAppData
对应子目录
无需申请额外权限,系统自动隔离,其他应用无法访问 写入示例:
File.WriteAllText(Path.Combine(FileSystem.AppDataDirectory, "config.json"), JsonSerializer.Serialize(settings));

CacheDirectory 专用于可丢弃的临时内容

适合图片缩略图、API 响应缓存、离线预加载资源等——丢了能重拉,但存着能提升体验。

路径通过 FileSystem.CacheDirectory 获取,系统可能在空间不足时自动清理 iOS 和 Android 都明确不保证持久性,不能放重要数据 建议加简单校验逻辑,读取前先
File.Exists
,不存在就重建

外部共享文件走 FilePicker 或系统 API

如果用户要导出报告、导入 Excel、或把照片存到相册,就不能硬写外部路径——得用平台合规方式。

导出给用户:用 FilePicker.Default.SaveAsync() 弹系统保存对话框,路径由系统决定 导入用户文件:用 FilePicker.Default.PickAsync(),返回
FileResult
流,只读不碰原始路径
Android 10+ 和 iOS 默认禁止直接写
/sdcard/Download
等公共目录,硬写会失败或被拒审

基本上就这些。AppData 存稳、Cache 存轻、共享走 Pick/Save——不复杂但容易忽略路径语义,选错一个就可能丢数据或过不了审核。

相关推荐