Você pode fazer isso usando algum código Javascript no QML:
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()
}
}
Execute o seguinte código com qmlscene
:
Depois de clicar para obter dados do Firebase:
Para executar o código acima, certifique-se de preencher o banco de dados da seguinte forma:
curl -X PUT -d '{ "first": "Jack", "last": "Sparrow" }' \
https://samplechat.firebaseio-demo.com/users/jack/name.json