我正在用 Firebase 制作一個簡單的 Draw 應用程式。該應用正在將繪制的線條(偏移串列、顏色、粗細等)上傳到 Firestore。當我再次打開應用程式時,我嘗試從 Firestore 檢索資料。
上傳到 Firestore 時,我無法按原樣上傳偏移量和顏色資料,所以我將其轉換為 String 后上傳。
UploadDrawingModel uploadDrawingModel = UploadDrawingModel(
pointList: currentLine!.pointList!.map((e) => e.toString()).toList(), // offset list
colorString: currentLine!.color!.toString(), // "Color(0xff000000)"
....
);
當我從 firestore 獲取資料時,我必須將轉換為 String 的資料(偏移量、顏色)回傳到原始型別。我可以知道如何將字串資料轉換為偏移量和顏色嗎?
uj5u.com熱心網友回復:
我更愿意offsets list
為例如創建一個模式,將它們保存到firebase 13,5|25,3|...,當我檢索它們時,呼叫 split('|') 并將它們映射回偏移量和顏色,你可以上傳color.value這將回傳整數值它,紅色的價值:4294198070
UploadDrawingModel uploadDrawingModel = UploadDrawingModel(
pointList: currentLine!.pointList!.map((e) => '${e.dx},${e.dy}').join('|'), // offset list
colorString: currentLine!.color!.value.toString(), // "Color(0xff000000)"
....
);
上面的代碼會將記錄作為
pointsList: dx1,dy1|dx2,dy2|dx3,dy3|...
colorString: 拖放到您的 Firebase 中:0000000000
當您檢索記錄時
myPointsList = record['pointsList'].toString().split('|').map((e) => Offset(
num.parse(e.split(',').first).toDouble(),
num.parse(e.split(',').last).toDouble(),
));
myColor = Color(int.parse(record['colorString']));
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/489331.html
上一篇:useEffect中未定義的變數
