先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注Android)
正文
- 手机App自动化测试工具的选择
- 工具
- 开发环境
- 素材
- 设计模式
- 文档
=========================================================
安卓流行框架
分类 | 框架名称 | 推荐理由 |
---|---|---|
缓存 | DiskLruCache | DiskLruCache ,JakeWharton开源,缓存神器 |
图片加载 | Glide | 可播放gif,谷歌推荐的图片加载 |
图片加载 | Fresco | 可播放gif,流畅性最好的加载框架,Facebook 出品 |
图片加载 | Picasso | squre inc.开源的图片加载框架。 |
图片处理 | Picasso—transformations | 图片处理框架。 |
图片处理 | Glide—transformations | 图片处理框架。 |
网络请求 | Okhttp | 非常强大的一个网络请求框架。 |
网络请求 | Retrofit | 基于okhttp ,squire出品,必属精品。。 |
网络请求 | volley | 谷歌之前出品的网络框架。 |
数据解析 | Gson | 非常好用的JSOn解析。 |
数据解析 | jackson | 这个也不错。 |
数据库 | greendao | 一个轻量、效率快的数据库。 |
数据库 | realm | 好用,替代sqlite。 |
数据库 | Sugar | 另外一个好用的数据库,个人推荐GreenDao。 |
依赖注入 | ButterKnife | 注解,让你的代码整洁,配合ButterKnife Zelezny,一键生成注解。 |
图表 | WilliamChart | 强大的图标库。 |
图表 | MPAndroidChart | 强大的图标库。 |
事件总线 | EventBus | 一个简单移动的事件总线。 |
事件总线 | otto | 另一个简单移动的事件总线。 |
响应式 | RXjava | 响应式编程 ,功能强大,值得学习。 |
响应式 | RXAndroid | 响应式编程 ,功能强大,值得学习。。 |
响应式 | RXBinding | 响应式编程 ,功能强大,值得学习。。 |
Log | logger | 一个logger框架。 |
Log | Hugo | 一个logger框架。 |
Log | Timber | 一个logger框架。 |
测试框架 | mockito | 一个强大的用于 Java 开发的模拟测试框架。 |
测试框架 | robotium | 是一款国外的Android自动化测试框架。 |
调试框架 | stetho | facebook的Android调试工具Stetho。 |
性能优化 | leakcanary | 一个检查内存泄露的插件,非常的强大。 |
常用网站
网站名称 | 推荐理由 |
---|---|
google搜索,让信息传遍世界 | |
Github | 面向世界的代码托管平台,在GitHub,你可以十分轻易地找到海量的开源代码 |
StackOverFlow | 一个与程序相关的IT技术问答网站 |
SegmentFault | 中文的开发者社区及媒体,中国的StackOverFlow |
开源中国 | 开源中国社区 |
安卓开发社区 | 安卓官网 |
掘金 | 掘金,号称中国质量最高的技术分享社区 |
csdn | CSDN,全球最大的中文IT技术社区 |
泡在网上的日子 | 泡在网上的日子,一个正对移动开发的技术分享论坛。 |
干货集中营 | 干货集中营,每日分享。 |
博客推荐
博客地址 | 博主信息 |
---|---|
Android Developers Blog | Android官网博客 ,有Android 的最新资讯,要翻墙。 |
郭霖 | 博主郭霖是大神, 人人都称"郭神", 是第一行代码的作者, 博主在 CSDN 上所写的文章都非常值得学习 |
张鸿洋 | 张鴻洋是 CSDN 博客专家, “洋神”, 他的每一篇博客都很值得大家去学习 |
代码家 | Android 大神, 博主收集了很多 Android 开源库, 博主自己也做了很多开源库, 非常值得学习,另外是gank.io的组织者。 |
Trinea | 目前在滴滴负责 Android 客户端技术, 他是开源库项目收集达人, 你想要的开源库上面都有,并且有源码解析,大家可以去关注一下, 地址 . |
张兴业 | 张兴业同样也是 CSDN 博客专家 |
大头鬼 | hi大头鬼hi 是阿里巴巴集团的一名 Android 工程师, 写了一系列RXJava 资料。 |
农民伯伯 | 资深博客写手,他的博客非常值得一看。 |
任玉刚 | 《安卓开发艺术探索》作者。 |
罗升阳 | CSDN博客专家,《安卓系统源代码情景分析》。 |
微信公众号推荐
微信公众号ID | 博主信息 |
---|---|
guolin_blog | 郭霖的公众号,有每日推荐文章,《第一行代码》作者。 |
hongyangAndroid | 张鸿洋的公众号。有每日推荐文字,Csdn博客专家。 |
AndroidDeveloper | 他是上海薄荷科技开发主管, 他的博客分享了他从编程白痴到自学 Android 一路走过的经验, 写了一篇 Android学习之路 帮助了无数人, 里面还有很多好的文章非常适合新手入门, |
书籍推荐
书籍名称 | 备注 |
---|---|
第一行代码 | 郭霖大杰作,适合新人 |
Java核心技术 卷I | java入门书籍 |
Effective Java | 进阶书 |
Java并发编程 | Java并发编程 |
给大忙人看的Java8 | 给大忙人看的Java8 |
Thinking In Java 中文版 | 学习Java 语言必备书籍 |
Android群英传 | 本书作者 @Tomcat 的猫。 |
Android开发艺术探索 | 由任玉刚所著. |
深入理解Java虚拟机 | 不是很难 ,需要看看 |
鸟哥的Linux私房菜 | 太经典。 |
图解Http | 让你很快上手http。 |
Head First设计模式 | Head First设计模式 |
程序员修炼之道 | 程序员修炼之道 |
Git权威指南中文手册 | Git权威指南中文手册 |
数据结构与算法基础 | 数据结构和算法的书,比较全 |
JavaScript权威指南 | JavaScript权威指南,学习js一本书差不多了 |
关于书籍选择当下最适合自己的最重要。
初学Android
对于一个初学者,最大的障碍在于如何用好ide以及项目结构。每一本入门书都绕不开这一个环节。这样的书需要越新越好。因为ide版本也在不断升级,一些changelog会让初学者卡住。这里不做推荐,只要找最新出版的书就可以了。
有了Android工作的1年里
一个良好的积累来源于平日的知识吸收。量变会引起质变。这个时间段,多吸收点知识是必要的。从量上首当其冲的就是API文档了,其次就是《第一行代码》 了。再来就是郭霖和鸿洋的博客了。能把一个知识点从浅入深的讲解成API文档,也只有他们俩了。
未来的1到2年
积累到一定程度,就需要不断的通过实战来补充经验。Android以坑多,黑科技著称。没在坑里滚过的都不叫真的android程序员。如果有本书能帮你快速理出这些坑。那就是《App研发录》了。虽然里面也有些写的不那么准确的问题,但这不碍事。
工作2-3年
坑也淌的不少了。也许你曾为了解决某个bug,花了好几天google遍了,源码翻烂了都没能解决。这时候就得考虑考虑,是否应该从原理入手去分析问题。一个component或者一个API是通过怎样的需求来定制实现的。如果你能从原理上去理解意图,那在解决问题时会更有方向,而不会想无头苍蝇。《Android开发艺术探索》应该就是你需要的书。它虽然没有帮你具体的解决某个bug,但是它给了你一个宏观的构图。以后你会事半功倍。
工作了3年以后
你已经是个合格的开发者了。一些问题都不会再难倒你。但是你在一个team里与大家协作。如何编写高质量,可复用的代码是一生的追求。这类书籍有很多,从具体的《Effective Java》到抽象的《HeadFirst设计模式》再到心中无码的《敏捷软件开发:原则、模式与实践》《重构》再回归到本质《编程珠玑》。这都是不错的选择。
####并行
1. 多尝试其他语言,了解其他语言的优点与特性,与android相互印证。是非常有必要的。
2. 可以尝试从非技术角度来看技术。《暗时间》 《精进,如何成为一个厉害的人》 都推荐大家看看。高效来自于自我认知
看书的目的,是系统的理解某一相对独立的点与面。尽量抽整块的时间来消化,别像看博客,公众号那样,手指一划一页就翻没了。没有真正的思考与实践,就不叫真的理解。平时那些碎片知识如果能通过系统的书籍来整理,是对我们的知识体系的梳理与巩固。
至于那些还不能消化高阶体系的朋友也不用强求,这是一个过程。先知其然,再去知其所以然。选当下最适合自己的,一步步进阶,不是更好吗~
RxJava系列
名称 | 备注 |
---|---|
ReactiveX/RxJava文档中文版 | 大神们在百忙之中翻译的文档,感谢开源。 |
ReactiveX/RxJava官方API | ReactiveX/RxJava官方API |
给 Android 开发者的 RxJava 详解 | 给 Android 开发者的 RxJava 详解 ,作者:扔物线 |
深入浅出RxJava | 大头鬼写的Rxjava 系列 |
老罗Rxjava视频 | 老罗Rxjava视频 |
retrofi系列
名称 | 备注 |
---|---|
官方文档 | squire出品,必属精品。 |
Retrofit 2.0:有史以来最大的改进 | 泡在网上的日子,翻译。 |
Retrofit2.0使用详解 | 讲解了基本的使用方法 |
MVP系列
名称 | 备注 |
---|---|
Android中的MVP | 泡在网上的日子翻译。 |
google写的列子 | google写的MvP例子。 |
Android-CleanArchitecture | 一个适合新人的MVP例子 |
MaterialDesign系列
名称 | 备注 |
---|---|
- Material Design 教程 | google官方提高的materail design 指导。 |
- Material Design 教程(中文版) | 翻译的中文文档。 |
- Material Design Android Library (Material Design 开源库) | 一些非常优秀的material design 开源库。 |
MVP-retrofit-rxjava-materialDesign系列
名称 | 备注 |
---|---|
瓣呀 | 瓣呀,一个基于豆瓣API仿网易音乐的开源项目(本人写的,欢迎star) |
大象 | 一个第三放PHPHUB客户端 |
开发资料 | 开发 Material Design+RxJava+Retrofit+MVP App 参考资料 |
Kotlin系列
名称 | 备注 |
---|---|
kotlin 介绍 | kotlin 介绍 |
kotlin 官网 | kotlin 官网,最新的资讯。 |
kotlin,网友对其评价 | 网友对其评价 ,很中肯。本人已经在学习,觉得如果熟练,开发速度大大提高,代码可读性也提高。 |
开源项目学习
项目名称 | 项目简介 |
---|---|
Google I/O 2014 | Google I/O Android App 使用了当时最新推出的 Material Design 设计 |
Google play music | 一个跨多个平台音乐播放器 |
github客户端 | 开源者 github 团队, 支持项目的 lssues 和 Gists 并集成了新闻 feed 以便及时获取来自组织好友和资料库的更新信息, 还提供了一个用于快速访问你创建,监控以及发布 issue 面板, 可查看并将问题加到收藏夹 |
MIUI 便签 | MiCode 便签是小米便签的社区开源版, 由 MIUI 团队(ww.miui.com)发起并贡献第一批代码, 遵循 NOTICE 文件所描述的开源协议 |
oschina | 开源中国社区 Android 客户端, 此开源的是 v1 版本, v2 版本将在 2015 年年中开源 |
最后说一下我的学习路线
其实很简单就下面这张图,含概了Android所有需要学的知识点,一共8大板块:
- 架构师筑基必备技能
- Android框架体系架构(高级UI+FrameWork源码)
- 360°Androidapp全方位性能调优
- 设计思想解读开源框架
- NDK模块开发
- 移动架构师专题项目实战环节
- 移动架构师不可不学习微信小程序
- 混合开发的flutter
Android学习的资料
我呢,把上面八大板块的分支都系统的做了一份学习系统的资料和视频,大概就下面这些,我就不全部写出来了,不然太长了影响大家的阅读。
330页PDF Android学习核心笔记(内含上面8大板块)
Android学习的系统对应视频
总结
我希望通过我自己的学习方法来帮助大家去提升技术:
-
1、多看书、看源码和做项目,平时多种总结
-
2、不能停留在一些基本api的使用上,应该往更深层次的方向去研究,比如activity、view的内部运行机制,比如Android内存优化,比如aidl,比如JNI等,并不仅仅停留在会用,而要通过阅读源码,理解其实现原理
-
3、同时对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习
-
4、android的方向也很多,高级UI,移动架构师,数据结构与算法和音视频FFMpeg解码,如果你对其中一项比较感兴趣,就大胆的进阶吧!
希望大家多多点赞,转发,评论加关注,你们的支持就是我继续下去的动力!加油!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-3zV0NCCy-1713445863288)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!