Postingan lainnya
Menampilkan data json dengan future builder flutter
saya ingin menampilkan data json dari sebuah kolom di database, tapi datanya tidak muncul saat selesai di build. ini kode user_page.dart nya
FutureBuilder(
future: ActivityController.getActivity(_selectedUser),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text("Aktivitas user"),
Text(snapshot.data["activity"].toString()),
],
);
}
else {
return Center(
child: Text("No data displayed"),
);
}
},
),
disini saya pake webservice jadi ini untuk controller di api nya activity.php
public function getActivity($data){
// $user = $this->getUser();
$sql = "SELECT * FROM logs.user_activities WHERE id_user= @id ORDER BY created_at DESC";
$parameter["@id"] = $data["id"];
//return $this->queryFirst($sql, $parameter);
return $this->queryArray($sql, $parameter);
}
untuk queryArray nya ada di library api. waktu saya send request di function getActivity nya data nya muncul berupa json, tapi saat build interface nya tidak muncul/no data displayed. mohon bantuanya!!??
1 Jawaban:
Mohon Sertakan output JSONnya...
oh iya, sedikit tips aja, buat PODO (Plain old dart object) dengan https://app.quicktype.io/ untuk mempermudah memanggil field JSON...
Misal dari JSON berikut <pre> { "key 1": "nilai 1", "key 2": 2, "key 3": true, "key 4": null } </pre>
maka akan jadi
<pre> class Contoh { String key1; int key2; bool key3; dynamic key4;
Contoh({
this.key1,
this.key2,
this.key3,
this.key4,
});
factory Contoh.fromJson(Map&lt;String, dynamic&gt; json) =&gt; Contoh(
key1: json["key 1"],
key2: json["key 2"],
key3: json["key 3"],
key4: json["key 4"],
);
Map&lt;String, dynamic&gt; toJson() =&gt; {
"key 1": key1,
"key 2": key2,
"key 3": key3,
"key 4": key4,
};
} </pre>
untuk menggunakannya cukup <pre> Contoh objContoh = Contoh.fromJson(jsonObj);
print(objContoh.key1); </pre>