• flutter版本更新
  • 适配更新AppBar区域CupertinoActivityIndicator的主题色彩冲突
  • 移除OffState和Indicator的组合使用,优化性能
  • 调整textField的clear实现方式,防止报错

2019-09-09

  • 修复各页面里文章 收藏 状态没有同步的问题
  • 首页收藏后,其他tab页对应item的收藏状态同步
  • 我的收藏页面里移除收藏.其他页面状态同步
  • 登录登出后各页面收藏状态刷新
  • 如果相同账号在其他平台修改过收藏状态,只需要刷新列表即可同步收藏状态.(WanAndroid接口目前存在问题)
  • 优化Dropdown弹出动画
  • 首页初次加载数据禁用上拉记载更多功能
  • 登录页面输入框可通过回车键切换

2019-08-30

  • 修复积分数值在登录后没有刷新的bug
  • 修复进入Splash页面短暂黑屏的bug
  • 修复未登录时,点击收藏还可以播放动画的bug
  • 默认主题色调整为亮色

2019-08-29

  • 添加积分记录和排行榜功能

2019-08-28

  • 在设置中添加WebViewPlugin的开关
  • 在详情中移除收藏后,回到收藏列表页面自动刷新

2019-08-26

  • 更新收藏动画的实现方式,之前实现的方式侵入性太强,每个页面都要先隐藏一个小❤❤。现在换了路由➕Hero的思路,重新调整了Flare。显示动画一行代码就ok。(如果你运行代码之后发现,该动画与图上会有一丝丝不一致,列表项右下角的小心会闪一下.不用担心那是flutter的bug,目前在master分支已经修复.见pr-37341)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

项目结构

|
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

|

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

|
| — | — |
| | |

Provider MVVM的简单使用方式

  • 快速添加一个拥有下拉刷新,上拉加载更多的页面.比如开发一个玩Android首页列表页面
  1. Model

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. ViewModel

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. View

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

以上是Provider结合ViewModel的基础使用方式,考虑了App中会出现的比较全面的情况,希望大家一起探讨使用方式

另外在判断页面状态的时候,其实拿model.viewState == ViewState.busy会更严谨一点.为了书写方便,加了一个对应方法

这里能找到什么?

  1. Provider状态管理的最佳实践,虽然Google很早就废弃了Provide,宣布Provider为推荐的状态管理工具,可是在开发中,我们总是会遇到很多问题。

  2. 比如Provider的几个衍生类在具体的业务中应该怎么使用?

  3. 页面最初需要的数据什么时候进行初始化,在哪里初始化。

  4. 如何将页面的几个常用状态loadingerroremptyidleunAuthorized进行组合使用。

  5. 常用的下拉刷新上拉加载更多应如何服用才能效果更佳。

  6. Widget在dispose后,model不再notify()。

  7. 清晰的代码结构。

  8. 让页面归页面,让业务归业务,所有的业务逻辑都在view_model中,Widget只关注页面本身。

  9. 不要再满屏幕的setState()。

  10. 同一页面内可以利用Flutter框架给我们提供的各种XxxBuilder,来局部刷新。

  11. 多层嵌套可使用前边提到的Provider

  12. 当然颗粒度足够细的Widget,还是要使用setState()。eg: ChangeLogPage中的ChangeLogView 功能单一,刷新不会影响别的widget。

  13. 实现了App的基础功能,可copy当作模板代码快速开发

  14. 主题切换

  15. 夜间模式切换

  16. 字体切换

  17. 漂亮的骨架屏

  18. 利用IDE插件i18n进行国际化

  19. Dio结合Cookjar,实现玩Android的登录功能

  20. AnimationList结合SmartRefresh的常规数据加载

  21. 当然还有WanAndroid本身也有不错的内容,每日闲暇时,可以读一读。

未完成的功能

  1. 首页二楼目前是我个人的blog,也无法前进后退。后期会放一个flutter专题。

  2. Hero动画,在非最后一个tab登陆时,logo的动画会漂移到最后一个,需要加状态判断。

  3. 退出登陆加入动效。

目前已知存在的问题

  1. webview_flutter 插件的问题还是很多,有些链接点击会没有反应,不会跳转。所以接入了两套WebView方案

  2. webview_flutter 不能结合CustomScrollView滑动。见issue

  3. 两个同样颜色的widget,中间莫名其妙的会多一条背景色的线。见issue

Future

  • 后期会上线大量博客,来讲述这个项目里所遇到的问题及解决的思路。

寻找组织

  • Fun Flutter微信交流群

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作者的话

  • 坐标上海,打算找Flutter方向的工作.4年Android开发经验.

感谢

  1. 感谢 V2Lf 开源项目,很早就在TestFlight中下载了该App,那时还没开源。萌生了想做一个开源的App的想法。

  2. 借鉴了goweiiWanAndroid项目的UI,最美原生版WanAndroid,感谢。

  3. 在实践Provider时,发现了Tutorials,作者Youtube的教程很好。

  4. 感谢优秀的pull_to_refresh刷新库。

  5. 感谢站酷提供的开源的字体。

  6. 感谢WanAndroid提供的API。

关于作者

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

最后

代码真的是重质不重量,质量高的代码,是当前代码界提倡的,当然写出高质量的代码肯定需要一个相当高的专业素养,这需要在日常的代码书写中逐渐去吸收掌握,谁不是每天都在学习呀,目的还不是为了一个,为实现某个功能写出高质量的代码。

所以,长征路还长,大家还是好好地做个务实的程序员吧。

最后,小编这里有一系列Android提升学习资料,有兴趣的小伙伴们可以来看下哦~

我的 Android 学习,面试文档,视频收集大整理

个相当高的专业素养,这需要在日常的代码书写中逐渐去吸收掌握,谁不是每天都在学习呀,目的还不是为了一个,为实现某个功能写出高质量的代码。**

所以,长征路还长,大家还是好好地做个务实的程序员吧。

最后,小编这里有一系列Android提升学习资料,有兴趣的小伙伴们可以来看下哦~

我的 Android 学习,面试文档,视频收集大整理

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐