专栏首页每天学点Android知识Flutter版本玩Android(2)——主页面数据获取

Flutter版本玩Android(2)——主页面数据获取

上一部分构造了主页面,这一部分主要完成主页面三个tab的数据获取,下一步的点击事件目前都未处理。

先看下效果:

使用的库

这部分接入了几个三方库,分别是:

  • 网络库:Dio,这部分封装了一个单例出来,负责网络请求
  • 首页轮播图:BannerView
  • json序列化:json-serializable,这部分需要注意如何生成辅助代码,可以参考后面的example
  • 首页下拉刷新、上拉加载:pulltorefresh

state管理

对于首页tab,使用了pulltorefresh控件;对于知识体系和公众号tab,都使用了自身的管理,定义了三种状态,LOAD、SHOW以及ERROR,根据不同state加载不同内容。 大体结构如下代码:

@override  Widget build(BuildContext context) {    return Container(      child: _createBody(),    );  }
  Widget _createBody() {    switch (_page_state) {      case PAGE_STATE.STATE_LOAD:        return Center(          child: CircularProgressIndicator(),        );      case PAGE_STATE.STATE_ERROR:        return Center(          child: RaisedButton(            onPressed: () {              _fetchWeChat();            },            child: Text('出错了,请重试'),          ),        );
      case PAGE_STATE.STATE_SHOW:        return _createShowBody();    }  }

代码

关于代码,可以参考: https://github.com/wangli135/wan_android/tree/07733ad17d02acc048925355a874c20004c96f94

参考

  • json-serializable example
  • pull to refresh

本文分享自微信公众号 - 每天学点Android知识(android_every_day)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • EventBus配置、粘性事件、优先级和取消事件分发

    前面的博客中获取EventBus,都是使用EventBus.getDefault(),而如果需要对EventBus进行配置,那么需要使用EventBus.Bui...

    用户1108631
  • Flutter版本玩Android客户端(6)——登录注册模块以及文章收藏与取消

    本篇继上篇Flutter版本玩Android客户端(5)——微信公众号tab点击跳转后,完成了登录注册模块,以及文章收藏与取消。

    用户1108631
  • Flutter数据传输

    数据从根往下传数据,常规做法是一层层往下,当深度变大,数据的传输变的困难,flutter提供InheritedWidget用于子节点向祖先节点获取数据的机制,如...

    用户1108631
  • HDUOJ-----(1251)统计难题

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Jav...

    Gxjun
  • Git使用教程-idea系列(idea、webstorm、phpstorm、androidstudio)中git使用教程

    码农笔录
  • TED视频 | 教皇谈科技的未来,没有人是一座孤岛,我们本是一体共生

    大数据文摘
  • Centos7下搭建Jupyter Notebook服务

    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel r...

    YINUXY
  • TCP协议三次握手与四次挥手通俗解析

     TCP/IP协议三次握手与四次握手流程解析 一、TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图: ? 图...

    用户1214487
  • TCP连接建立、断开过程详解

    TCP连接建立过程需要经过三次握,断开过程需要经过四次挥手,为什么? 有没有其他的连接建立、断开方式?

    coderhuo
  • PerfDog WEB端使用手册

    首先,先登录官网(https://perfdog.qq.com/),点击注册按钮:

    WeTest质量开放平台团队

扫码关注云+社区

领取腾讯云代金券