簡體   English   中英

如何從flutter中的firebase數據填充列表視圖

[英]How to populate listview from firebase data in flutter

嗨,我正在嘗試從 firebase 實時數據庫獲取數據並在 flutter 中填充列表視圖,以下是圖像,請在繼續之前檢查,

這是來自firebase的圖像現在我想在flutter應用程序中獲取數據並填充列表視圖,目前我正在進入這樣的終端:

數據:{Shivam kapasia 報道:{Reporter Email:kapasiashivam007@gmail.com,描述:需要幫助,報道人:shivam kapasia,緯度:28.4725024,時間:下午 5:46,地點:空,日期:1 月 20 日星期一,經度:77.506273},

這是我的代碼:

final databaseReference = FirebaseDatabase.instance.reference();
void createRecord() {
  _getCurrentLocation();
  databaseReference.child('Reported By ' + user.displayName).set({
    'Reported by': user.displayName,
    'Reporter Email': user.email,
    'Date': formattedDate,
    'Time': res,
    'Description': '$message',
    'longitude': longitude.toString(),
    'latitude': latitude.toString(),
    'location': '$_currentAddress'
  });
}

void getData() {
  databaseReference.once().then((DataSnapshot snapshot) {
    print('Data : ${snapshot.value}');
  });
}

兩個功能都運行良好。 如果您知道如何根據來自 firebase 的數據構建列表視圖並使用上層函數相應地填充它們,請幫助我,請嘗試在代碼中提供更有用的解決方案。

提前致謝...

您需要為所有這些數據創建一個類,您的createRecord()函數效率不高。
考慮創建一個Report類,將所有信息保存到一個Report對象中。
然后,在Report創建一個名為toJSON()的函數,它將您的所有數據轉換為 JSON 格式,您可以直接將其傳遞給 firebase。
同樣,您可以創建一個名為Report.fromJSON(Map snapshot)的命名構造函數,它將根據您從數據庫獲得的快照為您提供一個Report對象。
現在,您可以創建一個列表List<Report> reportList; 包含您從 firebase 獲取的所有報告。
現在你要做的就是將它映射到一個ListView ,如下所示,

ListView(
children: reportList.map((element){return Container();}).toList(),
)


在上面的示例中, element將是Report一個對象,您將能夠在Widget顯示數據,例如CardContainer


如果您只想顯示Record一個實例,您可以通過將 Widgets 添加到ListView來手動完成,

ListView( children: <Widget>[] )


如果您有任何具體需要幫助,例如設置課程和功能,請發表評論,我很樂意提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM