如何使用 QML 从 REST API 获取数据(适用于 ubuntu touch 应用程序)?

如何使用 QML 从 REST API 获取数据(适用于 ubuntu touch 应用程序)?

我正在尝试使用 firebase REST API 并将一些数据导入我的 ubuntu touch 应用。您能给我一些关于如何操作的建议吗?

答案1

您可以使用 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

在此处输入图片描述

点击从 Firebase 获取数据后:

在此处输入图片描述

要运行上述代码,请确保按如下方式填充数据库:

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

来源

相关内容