QML/JS에 사용자 설정 저장

QML/JS에 사용자 설정 저장

저는 작은 게임을 작업 중인데 우분투 터치에서 사용자 설정 파일을 어떻게 쓰거나 읽을 수 있는지 알고 싶습니다.

답변1

몇 가지 옵션이 있습니다.로컬스토리지설정을 유지하기 위해 로컬 sqlite 데이터베이스를 생성합니다. 또는 (여전히 알파 단계)U1DB이 구성 요소는 여전히 로컬 sqlite 데이터베이스를 사용하지만 사용자의 다른 컴퓨터/장치 간에 설정 데이터베이스를 동기화할 수도 있습니다.

답변2

로컬스토리지 예시

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)

나는 사용했다이 예하지만 수정해야 했어요.

관련 정보