0

私のアプリは、モバイル プラットフォームでユーザー エージェント文字列を変更します。(ユーザーエージェントツール)

ユーザーがプリセット リストをカスタマイズできるようにするとよいでしょう。中身をどのように収納するのがベストなのか悩んでいます。

必要な操作: リストの読み込み、要素の追加、要素の削除、要素の順序の変更、リストの保存。

XmlListModel が利用可能であるため、XML を使用することを考えました。しかし、もっと良いものはありますか?xml が最適な場合、xml は qml 側から簡単に操作できますか?

ありがとう

/編集: 私の関数はそのようなものです:

function getDatabase() {return openDatabaseSync("UserAgentTool", 1.0, "User Agent Tool", 10000); }


function getList()
{
    var db = getDatabase();
    var ret
    db.transaction( function (tx)
    {
        ret = tx.executeSql("SELECT * FROM UserAgents")
    })

    return ret
}

function addToList(ualabel, uastring)
{
    var db = getDatabase();
    db.transaction(function (tx)
    {
        tx.executeSql('CREATE TABLE IF NOT EXISTS UserAgents(ualabel TINYTEXT UNIQUE, uastring TEXT)')
        var ret = tx.executeSql("INSERT OR REPLACE INTO UserAgents VALUES(?, ?)", [ualabel, uastring])
        if (ret.rowsAffected <= 0) sqlError();
    })

}

signal sqlError()

getList データで選択したものを ListView に入力するにはどうすればよいですか?

ありがとう

編集:これは機能しません:

ListView
{
    anchors.fill: parent
    id: uaview
    model: uamodel
    delegate: Button { text: model.ualabel}
}

エラーは次のとおりです。Unable to assign [undefined] to QString text

4

1 に答える 1

2

XmlListModel では、QML だけを使用して簡単にデータを変更することはできませんが、非常に読みやすいです。読み書きする必要があり、QML のみを使用したい場合は、作業モデルとして ListModel を使用し、データを LocalStorage にキャッシュすることをお勧めします (現在、テーブルを含む非常に古典的な SQLite データベース ファイルです)。

ここにローカルストレージのドキュメントがあります

于 2013-06-24T08:05:14.857 に答える