在QML / JS中保存用户设置

我正在开发一款小游戏,我想知道如何在ubuntu touch中编写/读取用户设置文件?

你有几个选项,你可以使用LocalStorage创建一个本地sqlite数据库来保存你的设置。或者你可以使用(仍然非常alpha阶段) U1DB组件,它仍将使用本地sqlite数据库,但也允许您在用户的不同计算机/设备之间同步设置数据库。

LocalStorage示例

storage.js

 function getDatabase() { return LocalStorage.openDatabaseSync("appname", "0.1", "SettingsDatabase", 100); } function set(setting, value) { var db = getDatabase(); var res = ""; db.transaction(function(tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS settings(setting TEXT UNIQUE, value TEXT)'); var rs = tx.executeSql('INSERT OR REPLACE INTO settings VALUES (?,?);', [setting,value]); if (rs.rowsAffected > 0) { res = "OK"; } else { res = "Error"; } } ); return res; } function get(setting, default_value) { var db = getDatabase(); var res=""; try { db.transaction(function(tx) { var rs = tx.executeSql('SELECT value FROM settings WHERE setting=?;', [setting]); if (rs.rows.length > 0) { res = rs.rows.item(0).value; } else { res = default_value; } }) } catch (err) { //console.log("Database " + err); res = default_value; }; return res } 

QML导入

 import QtQuick.LocalStorage 2.0 import "storage.js" as Settings 

QML用法

 Settings.get("setting_name",8) Settings.set("setting_name", itemid.property) 

我用过这个例子,但不得不修改它。