StreamBuilder
私は毎秒JSONを私に与えているを持っています。「fichajes」というクラスがあり、その属性は次のとおりid, worker_id, date, hour, type_checking_id
です。
JSON は次のとおりです。
{
"fichajes": [
{
"id": 310,
"worker_id": 1,
"date": "30/09/2019",
"hour": "11:07:04",
"type_checking_id": 2,
"zone_checking_id": null
}
]
}
json のオブジェクトを取得して、後でテーブルに使用したいと考えています。
StreamBuilder(
initialData: Center(
child: new CircularProgressIndicator(),
),
stream: _someData(),
builder: (context, AsyncSnapshot snapshot) {
if (snapshot.connectionState != ConnectionState.done ||
snapshot.hasError) {
return ListView.builder(
itemCount: 1,
itemBuilder: (BuildContext context, int index) {
final Fichajes fichaje = snapshot.data;
return ListTile(
title: Text("titulo" + fichaje.fichajes[index].id.toString()),
subtitle: Text("subtitulo"),
);
},
);
} else {
return Center(child: LinearProgressIndicator());
}
},
);
Stream<Widget> _someData() async* {
yield* Stream.periodic(
Duration(seconds: 1),
(int a) {
//save into a general variable "allInfo" response from json
loadUser();
print("_someData");
return getInfo();
},
);
}
getInfo() {
return new Container(
child: new Text(allInfo.toString()),
);
}