web-dev-qa-db-ja.com

QMLを使用してREST AP​​Iからデータを取得する方法(ubuntu touchアプリの場合)

Firebase REST AP​​Iを使用して、ubuntu touchアプリにデータを取得しようとしています。どうすればそれを行うことができるかについて、いくつかのポインタを教えてもらえますか?

5
Ray Alez

QMLのJavascriptコードを使用して実行できます。

import QtQuick 2.0
import Ubuntu.Components 0.1

Item {
    width: 200
    height: 150

    ListModel {
        id: model
    }

    ListView {
        id: listview
        anchors.fill: parent
        model: model
        delegate: Text {
            text: jsondata
        }
    }

    function getData() {
        var xmlhttp = new XMLHttpRequest();
        var url = "https://samplechat.firebaseio-demo.com/users/jack/name.json";

        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                myFunction(xmlhttp.responseText);
            }
        }
        xmlhttp.open("GET", url, true);
        xmlhttp.send();
    }

    function myFunction(json) {
        var obj = JSON.parse(json);
        listview.model.append( {jsondata: obj.first +" "+ obj.last })
    }

    Button {
        anchors.bottom: parent.bottom
        width: parent.width
        text: "GET Data"
        onClicked: getData()
    }
}  

qmlsceneを使用して次のコードを実行します。

enter image description here

クリックしてFirebaseからデータを取得した後:

enter image description here

上記のコードを実行するには、次のようにデータベースに入力してください。

curl -X PUT -d '{ "first": "Jack", "last": "Sparrow" }' \
https://samplechat.firebaseio-demo.com/users/jack/name.json

ソース

7
Sylvain Pineau