I'm working on a small game and i'd like to know how can i write/read a user settings file in ubuntu touch?
Asked
Active
Viewed 3,626 times
2 Answers
2
You have a couple of options, you can use a LocalStorage to create a local sqlite database to keep your settings in. Or you can use the (still very alpha-stage) U1DB component, which will still use a local sqlite database, but also allows you to sync your settings database between the user's different machines/devices.
mhall119
- 5,037
0
LocalStorage example
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 imports
import QtQuick.LocalStorage 2.0
import "storage.js" as Settings
QML usage
Settings.get("setting_name",8)
Settings.set("setting_name", itemid.property)
I've used this example but had to modify it.
int_ua
- 8,892