Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android上保存QSettings文件的内容,使其在从Play Store更新我的应用程序后可读?_Android_C++_Qt_Qt5 - Fatal编程技术网

如何在Android上保存QSettings文件的内容,使其在从Play Store更新我的应用程序后可读?

如何在Android上保存QSettings文件的内容,使其在从Play Store更新我的应用程序后可读?,android,c++,qt,qt5,Android,C++,Qt,Qt5,我有一个用C++编写的应用程序。它基于Qt5.3框架。我使用QSettings保存应用程序的设置。如果我只重新启动我的应用程序,它就会工作。但是如果我从Qt Creator重新部署我的应用程序,或者从Play Market更新它,QSettings会重置为初始状态。我认为与QSettings关联的文件正在删除 我使用以下代码创建QSettings: QSettings settings( QStringLiteral( "Company" ), QStringLiteral( "App" ),

我有一个用C++编写的应用程序。它基于Qt5.3框架。我使用
QSettings
保存应用程序的设置。如果我只重新启动我的应用程序,它就会工作。但是如果我从Qt Creator重新部署我的应用程序,或者从Play Market更新它,QSettings会重置为初始状态。我认为与
QSettings
关联的文件正在删除

我使用以下代码创建
QSettings

QSettings settings( QStringLiteral( "Company" ), QStringLiteral( "App" ), nullptr);

谢谢大家!

您可以尝试将设置文件的位置指定为存在的可写位置,即使删除了应用程序:

#include <QSettings>
#include <QStandardPaths>

QString path ;
QString filename;

path = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) ;
filename = “config.ini” ;
QSettings settings(path + “/”+ filename,QSettings::IniFormat) ;

您可以尝试将设置文件的位置指定为存在的可写位置,即使删除了应用程序:

#include <QSettings>
#include <QStandardPaths>

QString path ;
QString filename;

path = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) ;
filename = “config.ini” ;
QSettings settings(path + “/”+ filename,QSettings::IniFormat) ;

谢谢!但它只能在我的设备上使用QStandardPath::GenericDataLocation。谢谢!但它只能在我的设备上使用QStandardPath::GenericDataLocation。