Android开发的经典入门教材和学习路线

article/2025/10/24 11:12:20

----------------------------------------------------------------------------------------------------------------------

Android开发书籍推荐:从入门到精通系列学习路线书籍介绍

(https://www.diycode.cc/wiki/androidbook)

很多时候我们都会不断收到新手的提问“Android开发的经典入门教材和学习路线?”、“Android 开发入门教程有哪些推荐?”等类似的问题,我们不断重复回答这些问题,这让我们萌生了做《 Android开发书籍推荐:从入门到精通系列学习路线书籍介绍》的想法,整理收集开发大牛的学习经验,以便让我们少走弯路,更快速成长。希望这个系列可以成为大家手头应对新手的好答案。

JAVA入门书籍:

《Introduction to java programming》

《Core java》中文译名《Java核心技术》 分为基础知识和高级特性

《Java核心技术(卷1):基础知识(原书第9版) [Core Java Volume I—Fundamentals (Ninth Edition)]》

《Java核心技术(卷2):高级特性(原书第9版) [Core Java, Volume II--Advanced Features]》

JAVA进阶书籍:

《Thinking in java》

《Effective Java》

汤涛推荐理由:第二本要反复多看几遍,另外Java学习还有个技巧,把各种代码检查工具报告的警告都正确处理掉,一个不漏,保证你成长飞快。

stormzhang推荐理由:公认的Java进阶必备,《Effective Java》是一本实用至上的书,78条建议,满满的干货。

袁辉辉推荐理由:《Thinking in java》:非常经典的Java书籍,有些人觉得这个书不适合初学者,可就是我看的第一个本Java书,或许是当初自学Java没有高人指点,便挑选了经典书来入手。看一本经典书,第一遍能理解个大概,能对整体有一个概念,这就可以了,反复多读几遍,细细咀嚼,每一遍都会有不同的领悟。

一、Android入门:

Android Training (http://hukai.me/android-training-course-in-chinese/index.html)

Android API Guides (https://developer.android.com/guide/index.html)

胡凯推荐理由:入门使用官方的这两份文档是最好不过的了,没有比这个更权威,更准确的Android学习资料了。中文书可以随便买两本入门,配合一起看看就好了。在实践的过程中多参考官方的Sample Code,多按照官方的推荐进行代码实践!

汤涛推荐理由:官方文档,权威专业,入门不二之选,正确的入门姿势,对后续的成长帮助非常之大。

《第一行代码》

《疯狂Android讲义》

《Android4高级编程》 

《Android编程权威指南》

徐宜生推荐理由:全面、基础,内容丰富!基础类型的书只要看一本就够了,用来全面了解知识体系和结构,不用全部精读,只需要有概念即可。

CJJ推荐理由:《第一行代码》作者郭霖,看了郭霖很多博客文章,每一篇都写的很详细,也很用心。这本书大概浏览了一遍,内容浅显易懂,非常适合初学者!

任玉刚推荐理由:《第一行代码》作者郭霖,手把手教你入门,清晰易懂。

袁辉辉推荐理由:《疯狂Android讲义》正是这样一本书,也是我看过的第一本Android书籍,书中并没有深奥的理论,有大量的实例,边看的过程中,边在电脑面前跟着敲了一遍实例代码,最好能做到理解性地敲,而非看一个单词再电脑面前敲一个。我大概花了一周时间把这本书看完并把大部分的实例代码都亲手敲了一遍。《第一行代码》作者郭霖,网上有不少人都推荐这本书作为Android入门书,我大概扫了一遍,知识点较基础,作者文笔不错,书中还穿插了不少打怪涨经验升级的片段,比较风趣。

二、Android进阶:

《App研发录》

《Android群英传》

《深入理解Android》

《Android开发艺术探索》

《Android系统源代码情景分析》

袁辉辉推荐理由:《深入理解Android》邓凡平,作者功力深厚,以情景为分支,从framework源代码层面来,深入分析Android系统,非常适合高级应用开发工程师和系统工程师阅读。《Android系统源代码情景分析 》罗升阳,对Android系统的理解非常深,老罗知识体系很全,文章从app/framework/native/kernel等全方面剖析,这是Android界的尽人皆知的大牛,“老罗栽树,大家乘凉”,非常值得一看,前提要是有扎实基础。

stormzhang推荐理由:《Android开发艺术探索》这是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点,Android开发进阶值得拥有!

任玉刚推荐理由:《Android开发艺术探索》,作者任玉刚。分析android核心知识点,直指高级工程师进阶要点!(作为艺术探索一书的读者,我也是激励推荐的!!非常赞的一本书!)

《Clean Code》

《Clean Coder》

汤涛推荐理由:进阶是个大话题,只看一两本是不够的,甚至只看书也是不够的,能进阶到什么程度只能靠自己积极主动的积累。 硬要推荐的话,就不说 Android 的书了,市面上几本热门书都可以看看。这里推荐的两本,同一人所写,都有中文译本。教你代码怎么写得更好,以及怎么做一个更职业的程序员。

《HeadFirst设计模式》

《重构:改善既有代码的设计》

胡凯推荐理由:在大量实践Android程序之后,我们需要会分辨哪种写法是更优秀的,通过重构来改善既有的代码,通过设计模式的不断理解实践对既有的框架进行优化,追求更加设计良好的程序。

三、Android底层:

《深入理解Android ***》系列书籍,邓凡平老师写的系列。

《Android源码设计模式》,结合设计模式分析源码

《Android框架揭秘》,底层架构的一本好书

徐宜生推荐理由:底层书籍对于应用开发者来说,不用过于深入,主要用于学习设计思路和了解底层设计机制

《Linux内核设计与实现》

《深入理解Linux内核》

袁辉辉推荐理由:Android底层是基于Linux Kernel,所以想成为Android全栈工程师,了解Linux Kernel是非常有必要的。这方面书籍较多,我就列举两本《Linux内核设计与实现》,《深入理解Linux内核》。第一阶段只需加深对Android系统整体性的理解,不必拘泥于每个细节都理解,看完能大抵理解kernel进程的管理和调度机制,内存管理和内存寻址,I/O驱动设备(字符设备、块设备、网络设备)和调度机制等有所了解就够了;如果都理解了也就够了,如果想再深入,可以结合Kernel代码多看两遍。

小结:

不管看多少书,更重要的是自己思考,动手重复的实践!也许这个过程很耗时间,但是,这个不断以代码去验证自己的某些猜想的过程,便是技术成长的历程!

本系列书籍推荐方法:

1、按照自身的学习路程,亲自看过的书籍;

2、写一个小小邀请,邀请一些开发牛人给列一个书单,然后综合筛选;

3、整理完毕了,网络上让大家继续推荐,随时更新;

4、你的一些整理方法,总之做出一份优质的推荐书籍就好哈;

5、因为Android发展太快了,所以一些时间特别久远的书籍可能不合适了,比如2012年前出版的一些Android开发书籍已经不适用了;

6、需要有一些适当的JAVA基础书籍推荐。

另一份书籍推荐

一个老鸟发的公司内部整理的 Android 学习路线图(https://www.diycode.cc/topics/122)

----------------------------------------------------------------------------------------------------------------------

一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本

(https://www.diycode.cc/topics/122)

jixiaohua发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图。另一份 Android 开发学习路线图。可惜不是MarkDown格式的,所以jixiaohua直接上传的截图,在jixiaohua的呼吁下,我花了些时间,把这篇大牛的推荐清单编辑成了Markdown格式,方便大家浏览,学习。

有一些链接可能还不是特别准确,因为我只能根据图片上的书或者资源的名字去Google可能的书籍,所以链接上有什么不对的,欢迎大家评论指出,我会及时更正。请参考原文:另一份 Android 开发学习路线图。帮助修改。谢谢。

1.基础工具部分: 中文手册,我猜测是Maven中文手册,可是我并没有找到这样的资 源,欢迎知道的朋友告诉我;

2.Android部分有 『第三方库集合』,我没能找到资源地址;

3.书籍我大多是给的豆瓣链接,如果觉得不合适可以替换一下;

程序设计

一、java

(a)基本语法(如继承、异常、引用、泛型等)

*Java核心技术 卷I(适合入门) 

(https://book.douban.com/subject/25762168/)

*进阶

*Effective Java中文版(如何写好的Java代码) 

(https://book.douban.com/subject/3360807/)

*Java解惑(介绍烂Java代码是什么样的)

(https://book.douban.com/subject/5362860/)

(b)多线程、并发

*Java并发编程实战 (系统全面的介绍了Java的并发,如何设计支持并发的数据结构)

(https://book.douban.com/subject/10484692/)

(c)Java 7

*Java程序员修炼之道 (详细的介绍Java 7 的新特性)

(https://book.douban.com/subject/24841235/)

(d)Java 8

*写给大忙人看的Java SE 8

(https://book.douban.com/subject/26274206/)

*函数式编程思维

(https://book.douban.com/subject/26587213/)

(e)Java虚拟机

*深入理解Java虚拟机 (并不是那么难,Java程序员都该看看)

(https://book.douban.com/subject/24722612/)

(f)性能优化

*Java性能优化权威指南 (后面的章节好像用处不大,前面有些部分还是值得看)

(https://book.douban.com/subject/25828043/)

二、算法与数据结构

*算法时间复杂度、空间复杂度的基本认知

*熟悉常用数据结构:链表、队列、散列表、树等;

*递归、分支等基本思想;

*常用算法应用:排序、查找、比较等

*数据结构与算法分析 (涵盖面比较全、示例是Java语言)

(https://book.douban.com/subject/1139426/)

*算法设计与分析基础 (实用主义的典型、偏算法设计)

(https://book.douban.com/subject/26337727/)

*编程珠玑 (实践型算法数据)

(https://book.douban.com/subject/3227098/)

三、操作系统

*对Linux/OS的基本认知

*Linux的常用命令

*鸟哥的Linux私房菜

(https://book.douban.com/subject/4889838/)

*Linux内核设计与实现(原书第3版) (很精炼的语言描述清楚了内核算法)

(https://book.douban.com/subject/6097773/)

四、网络

*Http/Https

*TCP/IP

*图解HTTP

(https://book.douban.com/subject/25863515/)

*图解TCP/IP

(https://book.douban.com/subject/24737674/)

*进阶

*TCP/IP详解

(https://book.douban.com/subject/1088054/)

五、Android

*四大组件(服务、广播、ContentProvider、页面容器)

*基础UI组件(ListView、ViewPager)

*异步任务机制(AsyncTask、Handler、线程池)

*布局优化(层级、绘制、碎片化处理)

*图片加载(Bitmap、缓冲区)

*UniversalMusicePlayer (通过学习一个音乐播放器的代码能很快了解四大组件)

(https://github.com/googlesamples/android-UniversalMusicPlayer)

*Android Training官方课程

(http://hukai.me/android-training-course-in-chinese/index.html)

*Android一些重要知识点解析整理

(https://github.com/FX-Max/Point-of-Android)

*Android UI/UX库(各类常用组件及扩展组件的集合)

(https://github.com/wasabeef/awesome-android-ui)

*Picasso 、 Glide (两个图片加载库)

(http://square.github.io/picasso/)

(https://github.com/bumptech/glide)

*The Google I/O 2015 Android App (Google大会官方的App,适合学习各类实现)

(https://github.com/google/iosched)

*Android开发技术前线 (定期翻译、发布国内外Android优质的技术、开源库、软件架构设计、测试等文章)

(http://www.devtf.cn/)

*进阶

*第三方库集合 (列举了常见的各方向第三方库)

软件工程

一、基础工具

*IDE、Git、Maven

*Android Studio

(https://developer.android.com/studio/index.html)

*Git权威指南中文手册

(http://iissnan.com/progit/html/zh/ch1_0.html)

二、软件质量

*代码整洁

*码质量

*码重构

*编写可读代码的艺术 (来自Google工程师,专注于代码可读性)

(http://iissnan.com/progit/html/zh/ch1_0.html)

*代码整洁之道(使用面向对象+敏捷开发原则编写清晰可维护的代码)

(https://book.douban.com/subject/4199741/)

*重构-改善既有代码的设计 (学习改善已有代码)

(https://book.douban.com/subject/4262627/)

*重构手册 (改善代码的实际操作)

(https://book.douban.com/subject/1173730/)

三、设计模式

*23种常见设计模式

*大话设计模式

(https://book.douban.com/subject/2334288/)

*Head First设计模式(两本入门级的设计模式书籍)

(https://book.douban.com/subject/2243615/)

*进阶

*设计模式-可复用面向对象软件的基础(设计模式在实际中的应用)

(https://book.douban.com/subject/1052241/)

四、敏捷开发

*解析极限编程

(https://book.douban.com/subject/1790225/)

*敏捷开发的艺术

(https://book.douban.com/subject/4037534/)

*进阶

*敏捷软件开发-原则、模式与实践

(https://book.douban.com/subject/5348122/)

五、专业开发

*序员职业素养

*更高效、更实效

*程序员的是职业素养

(https://book.douban.com/subject/11614538/)

*程序员修炼之道-从小工到专家

(https://book.douban.com/subject/5387402/)

六、思考人生

*黑客与画家 (硅谷创业之父Paul Craham 的文集,主要介绍黑客及优秀程序员的爱好和动机)

(https://book.douban.com/subject/6021440/)

----------------------------------------------------------------------------------------------------------------------

Android校招面试指南

https://lrh1993.gitbooks.io/android_interview_guide/content/

另一份Android开发学习路线

(https://www.diycode.cc/topics/117)

之前和@d_clock 一起组织做了一个wiki《Android开发书籍推荐:从入门到精通系列学习路线书籍介绍》收到挺多好评,后来一个有一个老鸟也给我发了一份他给公司内部小伙伴整理的路线图,分享出来给大家。

因为表格不是按照MD编辑器做的,目前这份是截图啦。如果有热心的同学,可以在回帖帮忙把这份整理成文字那真是感激不尽啊!图片保存下来可以看到高清大图

 


http://chatgpt.dhexx.cn/article/oyOGAxpY.shtml

相关文章

2022 Android 进阶学习RoadMap

看到一篇文章中提到“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺“;这的确不假,今年已经是2022年了,距离Android巅峰时期那会已经过去七八年了,现在想找一个适合的中高级Android工程师的确不…

Android入门基础教程

第1章 Android Studio运行第一个程序 1.1 Android Studio下载: 1.1.1 Android开发者官网: https://developer.android.google.cn ​ 1.1.2 下载Android Studio开发者工具: 进入Android开发者官网;找到Android Studio工具下载页…

学习Android逆向

工具 抓包:httpcanary高级版-Android文档类资源-CSDN下载安卓手机抓包工具httpcanary高级版.apk更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/XJ74110/85031291 反编译:AndroidKiller_v1.3.1-Android文档类资源-CSDN下…

Android 学习路线

Java基础 Java Object类方法 HashMap原理,Hash冲突,并发集合,线程安全集合及实现原理 HashMap 和 HashTable 区别 HashCode 作用,如何重载hashCode方法 ArrayList与LinkList区别与联系 GC机制 Java反射机制,Java…

【Android -- 学习】学习资料汇总

文章目录 一、前言二、书籍1. Java 书籍2. 算法与数据结构3. 操作系统4. 网络5. Android 书籍6. 软件工程7. 敏捷开发8. 其它 三、学习网站1. 大学资源网2. 北京大学公开课3. 大学自学网4. 偶书5. 哔哩哔哩6. 简单教程7. Stack Overflow8. YouTube9. 牛客网10. CSDN 四、博客五…

Android八大模块进阶学习笔记(性能优化、百大框架、高级UI、Flutter、Kotlin...)

今年来,Android开发行业的就业形势愈加严峻,无论刚刚入门Android学习没有头绪的、还是开发多年想要突破薪资范畴的,都需要跳出编码和业务的局限,学会选型、扩展, 提升编程思维,建立良好的职业规划&#xff…

Android学习笔记(一):Android基础

1 Android发展和历史 Android是由Android公司创造的手机操作系统,公司创始人是Andy Rubin,后来被Google收购,Google于2007年11月发布了Android 1.0手机操作系统,在2009年发布了Android 1.5,此后Android发展迅速。目前…

dspic c语言教程,轻松学PIC之数码管篇 PIC单片机学习系列教程

轻松学PIC之数码管篇 PIC单片机学习系列教程 大家好,通过前一期的学习,我们已经对ICD2仿真烧写器和增强型PIC实验板的使用方法及学习方式有所了解与熟悉,学会了如何用单片机来控制发光管、继电器、蜂鸣器、按键等资源,体会到了学习…

PIC单片机之I/O控制

I/O控制对于单片机而言是最基础最核心的东西,其实单片机除了AD DA 转换之外的事情。其他大部分的事情I/O口都能做的到。I/O控制简单却能千变万化。 单片机在大部分应用中做的事情,莫过于 输入高低电平 ,输出高低电平。就是通过这简单的控制电…

PIC单片机入门_中断系统详解

1.中断的基本概念 当单片机正在执行程序时,出现了某些特殊状况,例如定时时间到、有键盘信号输入等,此时CPU须要暂时停止当前的程序,而转去执行处理这些事件的程序,待执行完这些特定的程序之后,再返回到原先…

PIC单片机学习笔记

视频内容来自哔哩哔哩-【单片机】PIC单片机F877A视频教程(郭天祥) 1、简介 本视频使用的单片机是PIC16F877A (公司用的的dsPIC33FJ128GP306) dsPIC33——16位单片机 中档产品仅有35条汇编语言——意外之喜 哈佛总线结构、RI…

PIC单片机学习—USART串口

PIC单片机学习—USART串口 最近做了几个项目都用到了PIC单片机,在这几个项目之前我只用到了51单片机和STM32来做控制类的项目,用PIC单片机的时候发现使用的时候和51单片机还是有所区别,有许多小坑需要注意,所以决定写几篇针对新手…

PIC单片机应用开发实践教程(四): MPLAB X IDE Debug

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 当程序写好后,我们就可以使用在线调试功能,验证代码的正确性。 1、打开工程 File - Open Project ,打开我们要调试的工程 2、打开工程属性&#xf…

PIC单片机

PIC芯片所用编译器是MPLAB X IDE,刚开始接触PIC单片机,也是一脸茫然,然后查阅资料逐渐了解、运用编译器,这里我就不说编译器怎么使用了,下面我将以PIC12LF1822芯片为例,简单来说说我见解,分别说…

PIC单片机应用开发实践教程(六): 代码配置器(MCC)

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 1、简介 MPLAB 代码配置器(MPLAB Code Configurator,MCC)通过图形用户界面(Graphical User Interface,GUI)生成驱…

【PIC】单片机基本概述

1. 公司 PIC 单片机是 Microchip(微芯) 公司的产品,始于1989年。 2. 精简指令集技术 传统的单片机采用复杂指令集(Complex Instruction Set Computer, CISC)结构,通常有50~110条。而 PIC 采用精简指令集&…

PIC单片机应用开发实践教程(二): 新建工程

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 1 打开MPLAB X IDE File---New Project Microchip Embedded --- Standalone Project 选择所用MCU对应型号 点击 Finish 后,工程就建好了 2 添加main.c文件 3 添加main.h文件 …

PIC单片机的入门认识(以PIC12为学习目标)

1.学习PIC12针脚定义 针脚1及针脚8可接电源5V和地线。针脚2.3可外接晶振。 针脚4为复位脚,当单片机正常运行时接高电平,若有一个低电平输入,单片机便复位。 针脚5则为单片机的I/O脚,可控制它为输入或输出,输入0&…

PIC单片机应用开发实践教程(七):PIC16F153xx——时钟使用

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 PIC16F15355 内部晶振框图如下,从框图中我们知道MCU时钟来源有3个:外部时钟,内部时钟,Timer1 内部时钟源(INTERNAL CLOCK SOUR…

PIC单片机入门教程(二)—— 安装集成开发环境(MPLAB X IDE)

PIC单片机入门教程(二)—— 安装集成开发环境(MPLAB X IDE) 教程中使用的电脑运行Windows 10 专业版 64位系统 1、下载 MPLAB X IDE v4.05 历史版本:http://www.microchip.com/development-tools/pic-and-dspic-downl…