首页 > 解决方案 > Android 中的 Qt 和应用程序数据存储

问题描述

我正在开发一个使用 Qt/C++ 的移动应用程序,现在专注于 Android。我的应用程序需要以私密和安全的方式存储一些永久数据(其他应用程序无法访问,尽可能受到保护):

谢谢。

标签: androidc++qtstorage

解决方案


Android 在 path 下为应用程序维护了一个标准的/data/user/0存储空间,每个应用程序都在这里获得存储空间。因此,如果您有一个名为 的应用程序org.qtproject.example.myApp,Android 会自动为该应用程序创建存储空间:

/data/user/0/org.qtproject.example.myApp

设置存储在files此路径的文件夹下,如../files/.config/OrganizationName/AppName.conf

当您想在 Android 中存储信息时,您不使用绝对路径,而是使用 Qt 指定存储位置,QStandardPaths这通常返回上述应用程序路径下的位置,例如,要存储文件mySomeFile,您可以设置路径使用QStandardPaths类似:

auto path = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
auto fileName= path + "/mySomeFile";

并且文件存储为:

/data/user/0/org.qtproject.example.myApp/files/mySomeFile

推荐阅读