Flutter(Dart) 解析嵌套 JSON 为 model 对象的问题解决

2.4k 记录 发表评论
最近在些 Flutter 应用时,用到了 GraphQL 分页,返回来的数据大概长下面这个样子,是按 Github API v4 的数据格式来整的: {"users":{ { "edges": [ { "node": { "id": "1", "name": "ZhangSan" }, "cursor": "MA==" }, { "node": { "id": "2", "name": "Lisi" }, "cursor": "MB==" } ], "pageInfo": { "hasNextPage": true, "hasPrev…

Flutter十六进制颜色转换成颜色对象

5.0k 记录 发表评论
十六进制颜色值格式一般如:#ff0000,以#开头,后面跟着6个十六进制字符。 而flutter中不能直接使用此类形式的颜色值,所以必须要转换为flutter颜色对象。 Color hexToColor(String s) { // 如果传入的十六进制颜色值不符合要求,返回默认值 if (s == null || s.length != 7 || int.tryParse(s.substring(1, 7), radix: 16) == null) {…

Dart异步async、await和Future的语法技巧

3.2k 记录 发表评论
由于前面的HTTP请求用到了异步操作,不少小伙伴都被这个问题折了下腰,今天总结分享下实战成果。Dart是一个单线程的语言,遇到有延迟的运算(比如IO操作、延时执行)时,线程中按顺序执行的运算就会阻塞,用户就会感觉到卡顿,于是通常用异步处理来解决这个问题。当遇到有需要延迟的运算(async)时,将其放入到延迟运算的队列(await…