Android高级架构师
由于篇幅问题,我呢也将自己当前所在技术领域的各项知识点、工具、框架等汇总成一份技术路线图,还有一些架构进阶视频、全套学习PDF文件、面试文档、源码笔记。
- 330页PDF Android学习核心笔记(内含上面8大板块)
-
Android学习的系统对应视频
-
Android进阶的系统对应学习资料
- Android BAT部分大厂面试题(有解析)
好了,以上便是今天的分享,希望为各位朋友后续的学习提供方便。觉得内容不错,也欢迎多多分享给身边的朋友哈。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
下载地址
代码编译
-
Flutter SDK (Channel dev, v1.10.4)
-
如果要查看运行效果,一定要使用Release模式,流畅程度差距非常大
Flutter的
Debug
和Release
的编译模式不同,下分别是JIT
和AOT
.Debug
模式支持hot reload
.
- iOS运行在splash页面卡住,需要检查当前的scheme,如果为
release
,需在命令行执行flutter build ios
- 项目国际化部分依赖了AndroidStudio的插件flutter_i18n 需要在plugin仓库中,搜索
Flutter i18n
.安装插件成功后,重启AndroidStudio后,会生成lib/generated/i18n.dart
文件
具体方案和使用参考掘金-rhyme_lphlv的博文
介绍
借用群里水友的两句对白,在预览版出来时候
-
1A:话说
玩Android
的开源项目已经多如牛毛了。 -
3C:我想看最漂亮的。
感谢这位朋友对Fun Android
的认可。
关于App的主题风格,不全是Google倡导的Material Design 也不全是Apple的Cupertino Style。由于我是一个Android开发者,但又长期使用的iPhone,所以App的风格是两者的结合又夹杂了点私货。个人认为iOS版本的确实好看点。
代码中存在的问题,请大家积极提Issue.
更新
V0.1.12 2019-10-21
(未发布)
- 下拉刷新列表在加载失败时,如果当前页没有数据显示错误提示页,有数据则弹出toast提示
V0.1.11 2019-10-17
- 增加网络加载失败的提示
V0.1.10 2019-10-16
- 修复收藏页面’shareUser’字段为空导致报错的bug
V0.1.9 2019-10-14
- 极致黑(Native的闪屏页面适配darkMode)
- 首页banner高度根据屏幕宽高适应
- 签名文件调整
V0.1.8 2019-10-13
- 文章列表加入分享人
- 首页加入数据为空的逻辑判断
- ViewStateModel中逻辑优化,bug fix
- 状态栏字体颜色优化
- 修复TextField中hint为中文时不居中的问题
V0.1.7 2019-09-23
- DarkMode自动跟随系统设置
- App更新组件调整
- 适配Dio3.0版本
- pull_to_refresh更新:加入国际化
V0.1.6 2019-09-20
- 修复收藏列表进入详情时,页面报错的bug
V0.1.5 2019-09-19
- Flutter SDK更新至Channel dev, v1.10.3,修复
我的
页面莫名卡死的问题 - 修改Android端App名称为Fun Android
V0.1.4 2019-09-18
- 适配Flutter 1.9.x
- Android加入版本更新
- 加入LeanCloud API云服务
- 移除修复首页黑屏问题的代码
官方在1.10.1版本已修复
- 移除之前屏幕适配方案,对NativeView影响过大
- 修复版本更新导致的AppBar中进度条颜色与背景色不明显的问题
- 重构Http使用方式,解耦性更好
- 首页banner高度调整
- Android状态栏透明
2019-09-10
- 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
首页列表页面
- Model
- ViewModel
- View
以上是Provider结合ViewModel的基础使用方式,考虑了App中会出现的比较全面的情况,希望大家一起探讨使用方式
另外在判断页面状态的时候,其实拿
model.viewState == ViewState.busy
会更严谨一点.为了书写方便,加了一个对应方法
这里能找到什么?
-
Provider状态管理的最佳实践,虽然Google很早就废弃了
Provide
,宣布Provider
为推荐的状态管理工具,可是在开发中,我们总是会遇到很多问题。 -
比如
Provider
的几个衍生类在具体的业务中应该怎么使用? -
页面最初需要的数据什么时候进行初始化,在哪里初始化。
-
如何将页面的几个常用状态
loading
、error
、empty
、idle
、unAuthorized
进行组合使用。 -
常用的
下拉刷新
,上拉加载更多
应如何服用才能效果更佳。 -
Widget在dispose后,
model
不再notify()。 -
清晰的代码结构。
-
让页面归页面,让业务归业务,所有的业务逻辑都在
view_model
中,Widget只关注页面本身。 -
不要再满屏幕的setState()。
-
同一页面内可以利用Flutter框架给我们提供的各种XxxBuilder,来局部刷新。
-
多层嵌套可使用前边提到的
Provider
。 -
当然颗粒度足够细的Widget,还是要使用setState()。eg: ChangeLogPage中的ChangeLogView 功能单一,刷新不会影响别的widget。
-
实现了App的基础功能,可copy当作模板代码快速开发
-
主题切换
-
夜间模式切换
-
字体切换
-
漂亮的骨架屏
总结
最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
这里附上我整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给大家展示一小部分。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
技术进阶之路很漫长,一起共勉吧~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
份系统化的技术体系对大家有一个方向参考。
技术进阶之路很漫长,一起共勉吧~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!