我想在我在
Android上运行的qt应用程序中保存一些用户凭据.
我这样使用QSettings:
我这样使用QSettings:
QString appPath = QCoreApplication::applicationDirPath()+QLatin1Char('/'); set = new QSettings(appPath+"test",QSettings::NativeFormat); set->setValue ( "user/username","NameOfTheUser" ); set->setValue ( "user/password","UserPassword" ); set->sync();
我重新启动应用程序并在我的initialize()方法中:
QString username(set->value("user/username",( QVariant ) tr ( "defaultUser" ) ).toString()); QString password(set->value("user/password",( QVariant ) tr ( "defaultPass" ) ).toString());
解决方法
我也遇到了类似的问题,发现应该做两件事:
>应指定设置文件的路径
>每次设置更改后都应显式调用QSettings :: sync().
所以在Windows上我有这个工作:
QSettings settings("settings.ini",QSettings::IniFormat); settings.setValue(GRID_ENABLED,enabled);
在Android上我必须使用以下代码:
QSettings settings("/sdcard/settings.ini",QSettings::NativeFormat); //can be IniFormat,no difference settings.setValue(GRID_ENABLED,enabled); settings.sync();
可能使用“sdcard”还不够好,你应该使用其他目录.