博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于Flutter实现的仿开眼视频App
阅读量:5292 次
发布时间:2019-06-14

本文共 2097 字,大约阅读时间需要 6 分钟。

flutter_eyepetizer

  • 这是一款基于 Google Flutter 实现的一款仿开眼视频 App。

背景

从 Google 在 2018.02 的世界移动大会上正式推出首个 Flutter Beta 版,到 2018.12 的 Flutter Live 2018 上,发布 1.0 稳定版,再到现在,也差不多有 18 个月的时间了。Flutter 在 Github 上的 star、fork 量也是一路飙升,可以说,出自 Google 的 Flutter,除了自带光环,再加上它本身的众多优势,受到了众多开发者的追捧,热度只增不减。

作为一名不干寂寞的小开发,我也在去年 7 月份,果断入坑,开始 Flutter 的学习。也是略有斩获,并输出了一篇关于原生与 flutter 混合开发的文章:。反响也还不错,当然也有很多考虑不足的地方。

之后的很长一段时间,我也因为工作上的变动以及一些个人原因,搁置了 flutter 的学习计划。这段时间,工作生活状态逐渐稳定之后,也继续开始了我的 flutter 学习之路。所以有了今天的主角 。其实整个 App,现阶段并没有多么复杂的东西,基本用的都是 flutter 自带的 Widget,设计风格遵循 MD 规范,所以非常适合初学者学习。

扫码下载

  • 手机扫描下方二维码,即可下载。

目前实现的功能

  • 首页每日精选
  • 发现页 - 推荐关注、热门分类
  • 热门 - 周排行、月排行、总排行
  • 我的(目前是静态页,后期完善)
  • 搜索页
  • 热门关注列表
  • 热门分类列表
  • 视频详情

说明

项目纯属个人爱好而写,API 均来自,源代码仅供学习交流。

项目截图

  • gif

运行方式

  • 查看分支
flutter channel/// 如果当前分支不是 beta,请切换至 beta 分支flutter channel beta复制代码
  • 切换分支过程中,会自动帮你更新至最新版。如果分支是在 beta 分支,请运行以下命令,检查是否需要安装其他依赖
flutter doctor复制代码
  • 运行启动
flutter packages get/// 确保设备已连接flutter run复制代码

你能学到的东西?

  • 大部分基础控件的使用,诸如:Text、Image、Icon、Scaffold、ListView、GridView、CustomScrollView、Container、Padding、Expanded、Column、Row等等...
  • 下拉刷新、上拉加载。
  • 布局排版,以上控件会使用之后,进行布局排版就很简单了,原则:先上后下,先左后右。
  • 三方库的引入、图片的引入。
  • 用户交互事件的响应。
  • 页面的跳转,普通跳转、携参跳转。
  • json 解析。推荐一个插件:FlutterJsonBeanFactory,使用方式自行百度吧,非常简单~
  • http 请求的使用。针对 dio,做了一点简单封装,代码如下:
/// 执行 get 请求  static doGet(    String url, {    queryParameters,    options,    Function success,    Function fail,  }) async {    print('http request url: $url');    try {      Response response = await buildDio().get(        url,        queryParameters: queryParameters,        options: _options,      );      success(response);      print('http response: $response');    } catch (exception) {      fail(exception);      print('http request fail: $url --- $exception');    }  }复制代码

用到的三方库

  • 强大的 Http 请求库。
  • 更加灵活方便的图片加载框架。
  • 吐司。
  • 常用工具类。
  • Flutter 插件。
  • 视频播放。

后续计划

会有新功能的添加,更多的是针对现在项目的缺点,所进行的优化。

  • 作者详情信息页展示。
  • 封装一个更好用的 AppBar。
  • 下拉刷新、上拉加载封装。
  • 屏幕适配,非常有必要!。
  • 事件总线引入。
  • Bloc模式的引入,不了解Bloc?更多详情请点击 。
  • rxdart,都知道在 Android 中,RxJava 的地位举足轻重,那么,在 Flutter 开发中,要不要尝试一下 呢?
  • 会考虑和Native混合开发,只能说有可能。

最后

附上项目下载地址 。

如果您和我一样,喜欢技术,喜欢 Flutter,可以关注此项目,赏个star。我闲暇时间,也尽可能快的更新。

转载于:https://juejin.im/post/5d5f3521e51d453b1e478ad6

你可能感兴趣的文章
重载函数
查看>>
Unity3d 引擎原理详细介绍
查看>>
Vijos p1696 数与连分数
查看>>
一个value同时满足两种interface
查看>>
连续子数组的最大和
查看>>
Luogu P1023 税收与补贴问题
查看>>
python note 32 锁
查看>>
web技术工具帖
查看>>
SpringBoot项目中常见的注解
查看>>
一次性搞明白 service和factory区别
查看>>
select下拉二级联动
查看>>
iOS UI控件5-UIPickerView
查看>>
深入Java虚拟机读书笔记第三章安全
查看>>
IO流 总结一
查看>>
素数筛选法
查看>>
php连接postgresql数据库
查看>>
Visual studio之C# 调用系统软键盘(外部"osk.exe")
查看>>
hdu 4506(数学,循环节+快速幂)
查看>>
Spring mvc 教程
查看>>
CentOS DesktopEntry
查看>>