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

最近在些 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 run 很慢或者下载 gradle 错误:Exception in thread "main" java.net.SocketException: Connection reset

这个问题是因为国内网络无法正常下载 gradle 引起的,不管你是啥版本,都一样。 详细的错误如下: [ +176 ms] Downloading https://services.gradle.org/distributions/gradle-6.7-all.zip [+5206 ms] Exception in thread "main" java.net.SocketException: Connection reset [ ] at java.net.SocketInputStream.read(SocketInputStre…

Flutter 在Idea和Android studio 无法识别 Android 手机

刚开始是因为手机没有完全开启调试模式,具体可看:https://www.awaimai.com/2878.html。 但是手机调试模式完全开启后,Idea 和 Android studio 还是看不到Android手机,IPhone模拟机倒是可以看到,设备下拉框一直显示 Loading,完成后点 <no device selected> 也没有Android手机。 channel改为dev,还是没显示Android手机 但是 flu…

Flutter 请求接口数据乱码怎么办?

浏览器访问正常,但是在 Flutter 中拿到的却是一堆乱码,类似如下: Java å¦‚ä½•åˆ›å»ºå¤šçº¿ç¨‹ï¼ 原因是没有设置编码格式: jsonObj = json.decode(response.body); 改用: jsonObj = json.decode(utf8.decode(response.bodyBytes)); 解决。

Android adb devices识别不到小米手机

Flutter也是用adb来识别的,所以处理方法一致。 1、打开手机【设置】-【我的设备】-【全部参数】-点击四次【MIUI版本 (MIUI 12.0.3 稳定版)】 2、打开手机【设置】-【更多设置】-【开发者选项】 打开【开启开发者选项】下拉,打开【USB 调试】 3、重新用 adb devices 扫描。

Flutter自动换行和两列布局

Row 和 Column 是 Flex 组件,是无法滚动的,如果没有足够的空间,flutter就提示溢出错误。 这种情况下,Expanded 或 Flexible 组件可用作长文本的自动换行。 在 Flutter文档中 虽然没有明确说明,但是在主轴上如有内容超出空间, Expanded 和 Flexible 会自动换行到纵轴。 1 起源 以下一步步来理解。 如下的场景: class MyApp extend…

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

十六进制颜色值格式一般如:#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的语法技巧

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

中国安装flutter

1 安装flutter 中国地区设置:https://flutter.dev/community/china 下载Flutter:https://flutter.dev/docs/get-started/install 下载Java JDK:https://www.oracle.com/technetwork/java/javase/downloads/index.html 下载Android studio:https://developer.android.com/studio#downloads(已经安装了IDEA的, ,可不用下完整版的And…