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 混合开发的文章:Kotlin + MVP + Flutter ,让你可以在自己的项目中集成 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');}}

用到的三方库

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

后续计划

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

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

最后

附上项目下载地址 flutter_eyepetizer。

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

基于Flutter实现的仿开眼视频App相关推荐

  1. Android入门开源项目之仿开眼视频APP

    开眼短视频(OpenEyes) 仿照(开眼视频)Android端(旧版UI,新版UI已改变)做的一个App,每天更新一个精美短视频应用,一个非常美的短视频应用,UI界面基本上是参照开眼视频Androi ...

  2. 实战:使用 Flutter 仿开眼视频App

    简介 Eyepetizer 一直是我个人比较喜欢的app,之前有用原生模仿过开眼的一些效果,文章在这里,本次实践使用跨平台框架 Flutter 开发,对开眼 v4.2.2进行模仿. 用到的开源库 di ...

  3. 微信小程序模仿开眼视频app(一)——视频首页、视频详情、分类

    可到我的github账号上去copy文件 先展示一下我实现了的功能吧 提示,如果有出现无法加载域名之类问题的的,可以在"设置"-"项目设置"-打钩"不 ...

  4. 微信小程序模仿开眼视频app(二)——搜索功能

    微信小程序模仿开眼视频app(一)有介绍首页.视频详情和分类部分 可到我的github账号上去copy文件 搜索部分 一开始没想要设置历史记录啊.热门搜索啊这些的,只是想把搜索框弄好看一点,无意中发现 ...

  5. 微信小程序模仿开眼视频app(三)——信息卡片瀑布流和分类

    <微信小程序模仿开眼视频app(一)--视频首页.视频详情.分类> <微信小程序模仿开眼视频app(二)--搜索功能> 可到我的github账号上去copy文件 瀑布流部分 文 ...

  6. Flutter 实现高仿开眼 APP 的页面开发 01

    通过前面一系列有关 Dart 基础知识.Dart 进阶知识以及 Dart 核心异步编程的学习.终于迎来了 Dart 的实战篇,理论终将要服务实践.之前很多小伙伴一开始上来就非常看重实战开发,对基础知识 ...

  7. Flutter 实现高仿开眼 APP 的页面开发 03

    这是本实战系列的最后一篇文章了,也是本专栏的最后一篇文章.这篇文章将继续上一篇的文章,把剩余的发现页面和社区页面进行开发.以及抽离了一些可复用的业务组件,并且新增加了图片轮播组件.九宫格布局组件等等. ...

  8. Flutter 实现高仿开眼 APP 的页面开发 02

    上一篇实战文章铺垫,本篇文章功能实现起来就会变得更加简单,此外上篇文章并没有涉及到任何的网络请求.这篇文章将会使用网络请求,并且对现有网络请求进行一些封装,在使用的时候会变得更加简单,避免一些模板代码 ...

  9. Flutter实践——仿开眼短视频APP

    前言 eyepetizer_flutter是一款用flutter实现的仿开眼短视频的app,项目具有比较完整的结构.代码整洁规范,结构清晰. 项目展示 页面结构 代码结构

最新文章

  1. DeepMind论文:深度压缩感知,新框架提升GAN性能(附链接)
  2. 用户被忽悠 微软黑屏计划推至21日0点实施
  3. 常用的方法论-PARR
  4. Leetcode--149. 直线上最多的点数
  5. java.lang.NoClassDefFoundError: org/springframework/core/ErrorCoded
  6. Tomcat之Windows环境下配置多个服务器
  7. 1198. Jobbery
  8. 浅谈Proxmark3 Easy Gui 4.0 5.0 5.1加强版
  9. fmpeg分析视频gop的大小
  10. nyist——ACM新生牛刀小试 Round#1题解
  11. nacos 适配人大金仓数据
  12. 采用keras深度学习框架搭建卷积神经网络模型实现垃圾分类,基于树莓派上进行实时视频流的垃圾识别源代码
  13. ASCII,ISO8859-1,GBK,GB18030,Unicode,UTF-8详解
  14. python 语音识别 离线_语音识别离线语音识别,SpeechRecognition
  15. 更新-LabVIEW固高函数库源码文档调试软件-2019年4月14日
  16. java 截位法保留小数_【数量关系速算技巧】泡泡截位法专题
  17. 电工技术(4)—电路的分析方法三
  18. 百度地图离线_高德地图与百度地图有啥区别?功能只是其次,定位才是重点
  19. 频谱仪的更改ip_频谱分析系列:三阶交调失真概述及测试
  20. python【数据结构与算法】Heapq(堆)操作

热门文章

  1. 三维地震Eliis.PaleoScan.v2015.1.0.17689.x64+建筑结构分析与设计CSI.ETABS.2015.v15.2.0.1295...
  2. React16.4简书项目
  3. chatGPT技巧攻略.方法大全一文读懂
  4. Simulink 环境基础知识(十八)--确定信号维度
  5. 子网划分及子网掩码计算方法
  6. 表单html中加减数字按钮,纯CSS实现数字加减按钮的最佳方案
  7. Gnash 播放swf文件
  8. Python中的多重继承
  9. Mysql EXPLAIN 详解 + SQL
  10. 分析师需要掌握的35个商业模型(一)