web-dev-qa-db-fra.com

Enregistrement des paramètres utilisateur dans QML / JS

Je travaille sur un petit jeu et j'aimerais savoir comment puis-je écrire/lire un fichier de paramètres utilisateur dans Ubuntu Touch?

4
Hairo

Vous avez plusieurs options, vous pouvez utiliser un LocalStorage pour créer une base de données SQLite locale dans laquelle conserver vos paramètres. Ou vous pouvez utiliser le (encore très alpha-stage) 1DB = composant, qui utilisera toujours une base de données sqlite locale, mais vous permettra également de synchroniser votre base de données de paramètres entre les différents ordinateurs/périphériques de l'utilisateur.

2
mhall119

Exemple de stockage local

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
}

Importations QML

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

Utilisation QML

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

J'ai utilisé cet exemple mais je devais le modifier.

0
int_ua