开发还有一个最重要的技术点是** debug能力**,一般是日志+断点。尤其是断点一定要多使用多练习,既能帮你定位错误也能帮助你了解运行顺序和程序的流程。
写代码一定要细心,但是错误肯定无法避免,逻辑业务类基本都可以断点搞定。
SDK类问题, 比如系统无法拍照啊, SDK方法返回空啊报错啊,推荐google和stackoverflow搜,有道词典翻一下文字部分,代码基本是可以直接看懂的。
业务方面
技术以外业务方面也需要注意,这部分属于经验, 比如多页加载功能服务器要提供哪些数据啊。在列表之外还要提供总数量,然后本地要判断已加载的数据数量是否小于总数量,控制是否继续加载更多。大点的比如微信这样的app需要哪些功能啊,推送系统要如何处理啊等等,这方面我经验差…
无法提供太多参考,所以也吃了亏,要重视这部分。
继续深入
基本独立开发就OK了,可以担当Team Leader了,如果对技术有追求的话再看这部分。我也属于探索中,分享下经验。
关注最新技术
Gitub里Android最多star的几个项目,MaterialDesign
MVP, 响应式编程等等,没事逛逛国内的技术论坛,英语好的国外的也可以看看。还有谷歌的官方文档一定要看。
源码研究
一方面看别人的一些核心技术如何实现的,比如UIL的图片压缩,Volley的网络请求的线程池处理。还可以看开源项目, 别人整个app的结构,可以是很好的参考。还有就是面试的时候可能要求高点的也都会问到源码,不用仔细到看每一行。核心部分的比如图片压缩,双缓存能大概记住就行。
代码封装
原则上是去除重复代码,比如两个地方都使用一个功能代码,如果是写两份,那如果要修改的时候就得两次。如果是写在十个地方而且经常修改…
封装没有听上去的那么高大上,把握这个原则就可以了,主要还是服务于开发。
至于MVP什么的都是高级点的,探索中… 到这里可以多看专业的编程书籍继续升级。
细节
应付工作,基本就是运行正常OK,但是要对自己写的代码有追求,那就要注意细节。
最常见的是UI问题,文字歪了,图标小了,不对其什么的,不是技术问题,主要是细心认真。新建个评论后要将新数据增加到列表上而不是重新刷新等等这类细节都要对自己要求严格。这样程序看上去更好了,才会对内部的代码更加追求优美。至于代码, 以前看书里说过,加注释只是一个辅助。真正优美的代码应该是结构清晰命名规范,不要任何注释都可以直接顺畅阅读。
其他
讨论,也就是多去论坛或者和同事探讨技术
实践,最重要的部分,就是多写。
教授给他人,可以在记录笔记后,把自己比较熟悉的部分整理一下发到网上教授给他人。
写教程的过程中你就会发现很多细节都缺失,而且会收到反馈问一些常见的细节的你会忽视的地方, 返回过来帮助你继续提升。
最重要的,为了维持"高人"的颜面,你会逼着自己去更努力的学习,这样才好写出别人都喜欢的教程。
Android进阶学习
接下来分享的系统学习资源以详解各大互联网公司的 Android 常见面试题为主线,从面试的角度带你介绍必备知识点,以及该知识点在项目中的实际应用。
**帮你在现在的基础上,重新梳理和建立 Android 开发的知识体系。**无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这份资料中有所一些收获。
从架构基础开始,分了8个模块来逐步从基础进阶到架构师的环节:
多余的话就不讲了,接下来将分享面试的一个复习路线,如果你也在准备面试但是不知道怎么高效复习,可以参考一下我的复习路线,有任何问题也欢迎一起互相交流,加油吧!
首先是超级详细得不能再详细的Android开发学习思维导图,因为图片实在是太大了,所以我就只把二级目录的内容放出来,更加详细的你们可以点击**这里**。
接下来就需要梳理知识,提升储备了!(Android移动架构师七大专题学习资源)
-
**架构师筑基必备技能:**深入Java泛型+注解深入浅出+并发编程+数据传输与序列化+Java虚拟机原理+反射与类加载+动态代理+高效IO
-
**Android高级UI与FrameWork源码:**高级UI晋升+Framework内核解析+Android组件内核+数据持久化
-
**360°全方面性能调优:**设计思想与代码质量优化+程序性能优化+开发效率优化
-
**解读开源框架设计思想:**热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack
-
**NDK模块开发:**NDK基础知识体系+底层图片处理+音视频开发
-
**微信小程序:**小程序介绍+UI开发+API操作+微信对接
-
**Hybrid 开发与Flutter:**Html5项目实战+Flutter进阶
知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结。
然后再是通过源码来系统性地学习
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
《486页超全面Android开发相关源码精编解析》
刷大厂面试题备战,增加大厂通过率
历时半年,整理了这份市面上最全面的安卓面试题解析大全。
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。
2.五角星数表示面试问到的频率,代表重要推荐指数
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
最后
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。
这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司21年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给大家展示一小部分。
详细整理在GitHub可以见;
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
链图片转存中…(img-KLaIHbE6-1710890812084)]
详细整理在GitHub可以见;
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。