从 Play 商店更新我的应用程序后,如何在 Android 上保存 QSettings 文件的内容以使其可读?
Posted
技术标签:
【中文标题】从 Play 商店更新我的应用程序后,如何在 Android 上保存 QSettings 文件的内容以使其可读?【英文标题】:How to save content of the QSettings file on Android to make it readable after updating my app from Play Store? 【发布时间】:2014-07-31 23:17:55 【问题描述】:我有一个用 C++ 编写的应用程序。它基于 Qt5.3 框架。我使用QSettings
保存我的应用程序的设置。如果我只重新启动我的应用程序,它就可以工作。但是,如果我从 Qt Creator 重新部署我的应用程序或从 Play Market 更新它,QSettings
将重置为初始状态。我认为与QSettings
关联的文件正在删除。
我使用以下代码创建QSettings
:
QSettings settings( QStringLiteral( "Company" ), QStringLiteral( "App" ), nullptr);
谢谢!
【问题讨论】:
【参考方案1】:您可以尝试将设置文件的位置指定为即使应用程序被删除也存在的可写位置:
#include <QSettings>
#include <QStandardPaths>
QString path ;
QString filename;
path = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) ;
filename = “config.ini” ;
QSettings settings(path + “/”+ filename,QSettings::IniFormat) ;
这里QStandardPaths::GenericDataLocation
返回一个目录位置,可以存储跨应用程序共享的持久数据,并且永远不会为空。
您还可以在应用程序的主目录中设置应用程序和组织名称一次:
qApp->setOrganizationName("Company");
qApp->setApplicationName("App");
【讨论】:
谢谢!但它只能在我的设备上使用 QStandardPaths::GenericDataLocation 。以上是关于从 Play 商店更新我的应用程序后,如何在 Android 上保存 QSettings 文件的内容以使其可读?的主要内容,如果未能解决你的问题,请参考以下文章