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!!??

avatar oceanli
@oceanli

63 Kontribusi 2 Poin

Diperbarui 4 tahun yang lalu

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&amp;lt;String, dynamic&amp;gt; json) =&amp;gt; Contoh(
    key1: json[&quot;key 1&quot;],
    key2: json[&quot;key 2&quot;],
    key3: json[&quot;key 3&quot;],
    key4: json[&quot;key 4&quot;],
);

Map&amp;lt;String, dynamic&amp;gt; toJson() =&amp;gt; {
    &quot;key 1&quot;: key1,
    &quot;key 2&quot;: key2,
    &quot;key 3&quot;: key3,
    &quot;key 4&quot;: key4,
};

} </pre>

untuk menggunakannya cukup <pre> Contoh objContoh = Contoh.fromJson(jsonObj);

print(objContoh.key1); </pre>

avatar nizwar
@nizwar

12 Kontribusi 2 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban