Android 学习资料收集
收集整理这份资料灵感来自于 trip_to_iOS, 征得同意引用了该资料的开头描述
收集整理这份资料主要帮助初学者学习 Android 开发, 希望能快速帮助到他们快速入门, 找到适合自己学习资料, 节省再去收集学习资料时间.
这份资料我会不断的更新完善, 同时也欢迎更多具有丰富经验的Android开发者将自己常用的工具、学习资料、学习心得等分享上来, 我将定期筛选合并, 该份学习资料有不足的地方, 也请指出, 我会谦虚接受改正, 希望我能与大家一起来学习, 谢谢.
感谢 @GitHubDaily 的大力支持
书籍
书籍名称 | 推荐理由 |
---|---|
Thinking In Java 中文版 | 学习 Android 开发, 首先需要 Java 基础, 这里推荐 Thinking In Java, Thinking In Java 是 Java 的经典书籍, 是学习 Java 语言必备书籍 |
第一行代码 | 郭霖大神的杰作, 郭神在CSDN中的博客文章非常不错, 书我看了, 非常适合新手, 里面的内容非常棒, 建议结合郭神博客文章一起来学习 |
疯狂Android讲义第三版 | 作者是李刚, 这本书是基于 Android 5.0 来讲的, 我看过第二版, 这本书给我第一感觉就是很厚, 但里面内容写的还是很详细的, 代码很多, 可以跟着代码一步步敲 |
Android群英传 | 本书作者@Tomcat的猫, 曾就职于上海TCL通讯, 从事Alcatel(阿尔卡特)Android手机系统的定制工作, 活跃于CSDN, 目前就职于上海沪江网Android开发部RD项目组, 负责沪江App的功能预研 |
Android开发艺术探索 | 由@任玉刚Coder所著, 是一本Android进阶类书籍, 采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点. 本书从三个方面来组织内容: 第一, 介绍Android开发者不容易掌握的一些知识点: 第二,结合Android源代码和应用层开发过程, 融会贯通, 介绍一些比较深入的知识点: 第三, 介绍一些核心技术和Android的性能优化思想. |
App 研发录 | 本书作者是包建强, 本书是作者多年 App 开发的经验总结, 从App架构的角度, 重点总结了 Android 应用开发中常见的实用技巧和疑难问题解决方法, 为打造高质量 App 提供有价值的实践指导, 迅速提升应用开发能力和解决疑难问题的能力. 这本书非常有利于 Android 开发者进阶. |
Android 设计模式源码分析 | 本书作者是开发技术前线创立者之一 Mr.Simple, 该书从 Android 源码的角度由浅入深地剖析设计模式的运用, 让工程师们把设计与模式重视起来, 提升自己的设计能力与代码质量 |
开发环境/工具:
(附上: 由 @脉脉不得语 收集维护超多开发工具下载地址 AndroidDevTools, 后五个工具资料在 stormzhang 博客中找到的,地址)
环境/工具 | 简述 |
---|---|
Android Studio | 这个开发工具上手需要一定的时间, 自从 Google 推出1.0正式版, 这个工具一直火爆, 目前github上面的绝大多数开源项目都是使用Android Studio工具, 这就是 Android 开发工具的未来, 所以极力推荐 Android 开发人员使用这个工具, 该工具已更新到 2.0 预览版, 性能逐渐稳定提高, 没有之前那么卡了 |
Genymotion | 强大好用高性能的Android模拟器, 自带的那个模拟器简直不忍直视, 启动超慢的, 跟这个没法比, 无论你是用Eclipse还是Android Studio里面都有Genymotion插件 |
jadx | 一个Android反编译神器,不同于常见的 dex2jar,这个反编译器生成代码的 try/catch 次数更少, View也不再是数字id了,可读性更高 |
android-selector | 可以根据指定颜色生成 Selector Drawable 的插件 |
GradleDependenciesHelperPlugin | Gradle 依赖自动补全插件 |
Smali Viewer | sv是一款免费 APK 分析软件,对你感兴趣的APP分析看看它们都用了些什么, 对你学习借鉴有一定帮助 |
folding-plugin | layout 文件夹里的布局文件一般很长很长没有目录, 这个插件就可以把 layout 分好层级结构, 类似 src 下目录结构 |
CodeGlance | 在编辑代码最右侧, 显示一块代码小地图 |
Statistic | 统计整个项目行数的插件, 这可表示我们日日夜夜辛辛苦苦必备插件 |
idea-markdown | 在 AS 中编写 Markdown 文件, 可以直接预览网页显示效果, 对于你经常编写 Markdown 文件的你值得拥有这个插件 |
Stetho | Stetho是 Facebook 出品的一个强大的 Android 调试工具,使用该工具你可以在 Chrome Developer Tools查看App的布局, 网络请求(仅限使用Volley, okhttp的网络请求库), sqlite, preference, 一切都是可视化的操作,无须自己在去使用adb, 也不需要root你的设备 |
ClassyShark | ClassyShark 是 Google 发布的一款可以查看 Android 可执行文件的浏览工具, 支持.dex, .aar, .so, .apk, .jar, .class, .xml 等文件格式, 分析里面的内容包括 classes.dex 文件, 包、方法数量、类、字符串、使用的 NativeLibrary 等 |
ButterKnife Zelezny | ButterKnife 生成器, 使用起来非常简单方便, 为你简写了很多 findViewId 代码, 如果你不了解 ButterKnife 的可以到这里看看 |
SelectorChapek | 设计师给我们提供好了各种资源, 每个按钮都要写一个selector是不是很麻烦? 这么这个插件就为解决这个问题而生, 你只需要做的是告诉设计师们按照规范命名就好了, 其他一键搞定 |
GsonFormat | 现在大多数服务端api都以json数据格式返回, 而客户端需要根据api接口生成相应的实体类, 这个插件把这个过程自动化了, 赶紧使用起来吧 |
ParcelableGenerator | Android中的序列化有两种方式, 分别是实现Serializable接口和Parcelable接口, 但在Android中是推荐使用Parcelable, 只不过我们这种方式要比Serializable方式要繁琐,那么有了这个插件一切就ok了 |
LeakCanary | 良心企业Square最近刚开源的一个非常有用的工具, 强烈推荐, 帮助你在开发阶段方便的检测出内存泄露的问题, 使用起来更简单方便, 而且我们团队第一时间使用帮助我们发现了不少问题, 英文不好的这里有雷锋同志翻译的中文版 LeakCanary 中文使用说明 |
博客:
博客地址 | 博主信息 |
---|---|
Android Developers Blog | Android官网博客, 在上面可以关注Android最新的进展与最权威的博客(需翻墙) |
胡凯 | 目前就职于腾讯上海从事Android开发的工作, 发起 Google Android 官方培训课程中文版翻译, 这课程是学习Android应用开发的绝佳资料 |
Trinea | 目前在滴滴负责 Android 客户端技术, 他是开源库项目收集达人, 你想要的开源库上面都有, 并且发起 Android 开源项目源码解析, 在使用开源库的同时也可以知道其中原理, 大家可以去关注一下, 地址 |
郭霖 | 博主郭霖是大神, 人人都称"郭神", 是第一行代码的作者, 博主在 CSDN 上所写的文章都非常值得学习 |
代码家 | 90后Android大神, 称作库达人, 博主收集了很多Android开源库, 博主自己也做了很多开源库, 非常值得学习 |
stormzhang | 博主是上海薄荷科技开发主管, 他的博客分享了他从编程白痴到自学 Android 一路走过的经验, 写了一篇 Android学习之路 帮助了无数人, 里面还有很多好的文章非常适合新手入门, 并且是微信公众号「AndroidDeveloper」的运营者 |
light_sky | Android开发工程师, 目前在北京工作. Google big fan, 热爱开源, 热爱分享, 活跃于GitHub、G+、Twitter, 捕捉Android最新资讯和技术, ViewPagerIndicator 开源项目分析者 |
张鸿洋 | 张鴻洋是 CSDN 博客专家, 博主在 CSDN 所发布的每一篇文章都是干货, 都很值得大家去学习 |
张兴业 | 张兴业同样也是 CSDN 博客专家, 博主专注移动互联网开发,关注移动支付业务 |
hi大头鬼hi | hi大头鬼hi 是阿里巴巴集团的一名 Android 工程师, 擅长 Android, RxJava, RxAndroid, ReactNative, Node.js, 大前端, 可谓是全栈工程师, 如果你对 RxJava 技术感兴趣, 不妨到他的博客看看, 他写了一系列有关 RxJava 的介绍 |
更多 | 这里面收集了很多国内外开发者的信息, 大家可以去看看 |
社区:
名称 | 简介 |
---|---|
StackOverFlow | IT 界的问答社区, 你开发当中所遇到的问题基本上都能在这里能寻找到你想要的答案 |
SegmentFault | SegmentFault 是一个专注于解决编程问题, 提高开发技能的社区 |
CSDN | CSDN 是全球最大中文IT技术社区 |
eoe 移动开发者社区 | 让移动开发更简单, 做最棒的开发者社区 |
APKBUS 安卓巴士 | APKBUS 安卓巴士是一家服务于中国移动开发者学习与成长需要的综合社区服务平台 |
谷歌开发者社区(GDG) | GDG 是 Google Developer Groups 的缩写, 中文名称是谷歌开发者社区 |
开源项目学习:
项目名称 | 项目简介 |
---|---|
Google I/O 2014 | Google I/O Android App 使用了当时最新推出的 Material Design 设计 |
Google play music | 一个跨多个平台音乐播放器 |
Google Santa Tracker for Android | Google 开源的一个儿童教育和娱乐的 App |
github客户端 | 开源者 github 团队, 支持项目的 lssues 和 Gists 并集成了新闻 feed 以便及时获取来自组织好友和资料库的更新信息, 还提供了一个用于快速访问你创建,监控以及发布 issue 面板, 可查看并将问题加到收藏夹 |
Talon-for-Twitter | 一个完整版 Twitter 第三方客户端, 属于顶级水平, 而且在源代码 100% 开源, 学习资源让你取之不尽 |
Anime Taste | 开发者是代码家为 AnimeTaste 全球动画精选开发的 Android 客户端, 国内很少见的精彩而且开源的 APP, 获得豌豆荚110期设计奖 |
EverMemo | 开发者是代码家, EverMemo 是一款让你快速记录与分享灵感的随身便签, 极简的界面与卡片式布局, 让你记录与查找便签更有效率 |
9GAG | 开发者是stormzhang的博主,这个开源项目教你使用Studio,Gradle 以及一些流行的开源库快速开发一个不错的 Android 客户端 |
MIUI 便签 | MiCode 便签是小米便签的社区开源版, 由 MIUI 团队(ww.miui.com)发起并贡献第一批代码, 遵循 NOTICE 文件所描述的开源协议 |
贝壳单词 | 开发者是许晓峰(Drakeet), 获得豌豆荚设计奖, 这个是初期版本, 新版没有开源, 但是在博主的博客当中将一些新版的内容都剥离出来写成了文章,可以去学习一下 |
Muzei Live Wallpaper | 开发者是 Ian Lake , 就职于 Google, 这款是定时更换桌面精美壁纸 App |
四次元-新浪微博客户端 | 一个仿新浪微博客户端 App, 基本都含有新浪微博的功能, 开源团队写了一份 wiki 文档, 可以去学习一下该 App 是如何实现的 |
知乎专栏 | 开发者是白瓦力, 项目结构清晰, 代码分包合理, 很棒. 很适合新手去学习如何搭建一个 App 结构, 熟悉开发一个完整 App 的流程 |
eoe 客户端 | eoe 社区Android客户端 |
oschina | 开源中国社区 Android 客户端, 此开源的是 v1 版本, v2 版本将在2015年年中开源 |
v2ex | 开发者是杨辉, 这个是 v2ex Android 第三方客户端 |
Tweet Lanes | 功能比较完整的 Twitter 客户端 |
Financius | 一款简单易用个人理财 Android 程序 |
Coding | Coding 类似于 github 一个代码托管平台, 这个是 Coding 的 Android 版客户端 |
ZXing | 二维码扫描工具,市场上许多应用的二维码扫描工具都是从这个修改得到的 |
photup | 编辑机批量上传照片到facebook上,代码分包合理,很棒,不过这个项目依赖的开源项目比较多, 比较难编译 |
todo.txt-android | todo.txt 官方 Android 应用, 一个极简的将待办事件记录在 .txt 文件中 |
扫扫图书 | 一个让你懂得如何去选择一本书的 APP, 具有扫描搜索查询图书的信息功能 |
ChaseWhisplyProject | 开启摄像头在你所在位置寻找鬼魂, 进行打鬼游戏 |
AntennaPod | AntennaPod 是一个自由、开源的播客客户端, 支持Atom和RSS Feed |
干柴 | 开发者是冯建, 一个专注收集 android 相关干货(文摘,名博,github等等)资源 App |
Hacker News | 一个查看黑客新闻报道和评论的 App |
proxydroid | ProxyDroid 是一个帮助你在你的 Android 设备上设置代理 (HTTP / SOCKS4 / SOCKS5) |
AliGesture | Android平台手势识别应用, 简单的手势就可以进入预置的应用, 方便快捷 |
指读 | 指读顾名思义就是用手指去阅读浩瀚的书海 |
KJ 音乐 | 开发者是张涛, 快捷音乐使用到KJFrameForAndroid开发框架, 拥有界面绚丽, 操作简单, 播放手机本地音乐, 在线收听音乐等功能, 还支持: 新浪微博, 百度账号, QQ账号的一键登录 |
哎嘛 | OSCHINA第三方客户端, 这个版本界面比官方版本界面好看多了, 使用的是 Material Design, 界面看上去非常清爽舒服 |
码厩 | 博客园第三方客户端, 使用到缓存技术, 当你打开一次之后的博客内容, 会自动保存到设备中, 下次打开阅读同一文章时不需要再利用网络加载, 大家如果想为自己 App 搞缓存的, 可以研究一下该 App 是如何实现的喔 |
cnBeta 第三方阅读器 | 该 App 是 cnBeta(中文业界资讯站) 第三方阅读客户端, 界面也是使用 Material Design, 还加上一些动画效果, 让人阅读文章起来不会感觉枯燥, 值得去研究学习一下 |
BlackLight | BlackLight是由纸飞机开发团队开发的一款Android上的新浪微博第三方轻量级客户端 |
Actor | Actor(优聆) 是一款即时通讯 App, 解决网络通讯差的情况, 支持离线消息和文件存储, 自动与手机联系人建立联系等等 |
Plaid | 一个遵循 Material Design 的一个设计新闻客户端,里面的一些完全MD的一些特效很棒,同时整个客户端的框架设计也很有参考意义 |
SimplifyReader | 一款基于 Google Material Design 设计开发的 Android 客户端, 包括新闻简读, 图片浏览, 视频爽看, 音乐轻听以及二维码扫描五个子模块, 项目采取的是MVP架构开发 |
PHPHub-Android | PHPHub Android 客户端, 项目架构使用 nucleus 简化 MVP 架构, API 请求返回数据使用 RxJava 进行处理, 客户端使用了独特的二维码扫码登录, 有兴趣的可以去研究一下 |
Leisure | 闲暇(Leisure)是一款集"知乎日报", "果壳科学人", "新华网新闻"以及"豆瓣图书"于一体的阅读类 Android 应用, 项目里面有多语言切换、夜间模式以及无图模式, 如果你还不知道这些技术怎么实现, 不妨参考一下这个项目 |
Android 开发者杂志周刊
( 前五个资料来自 Drakeet 收集整理的, 资料原链接 地址 )
周刊名 | 周刊简介 |
---|---|
Android Weekly | Android Weekly 是由Android 团队的成员和国外知名的 Android 开发者维护, 分享的内容不仅仅只有干货, 而且还有最新的技术分享, 也是Android 开发圈子最早, 最有名的周报 |
Android 开发技术周报 | Android 开发技术周报是由@脉脉不嘚語 维护更新, 截止到现在, 已经发布了28 期, 分享的都是高质量的文章教程, 代码库, 工具, 新闻视频, 设计等 |
Android 科学院 | 由 @duguguiyu和豌豆荚一小撮工程师组成, 分享的都是最新的 Android 技术: 虽然更新频率不是很高, 但是质量确是很高的, 值得一看的 |
开发技术前线 | 开发技术前线是一个高质量技术文章的聚合网站, 主要分享 Android, iOS,以及招聘等内容 |
App 开发日报 | App 开发日报主要关注移动应用的开发, 它每天一刊, 分享的内容主要来自微博上知名的开发者推荐的内容, 因此质量基本上是有保证的 |
Android 开发周报 | Android 开发周报是郭亮在连载更新在 Infoq 的周刊, 它不仅分享 Android 的相关新闻, 新工具, 而且还有更加深入的, 所以对于新生老人都很适合 |
干货集中营 | 由 代码家 维护更新, 周一到周五每天中午分享, 分享内容有漂亮妹子, Android 干货, iOS 干货, App, 技术以外推荐, 还有休息视频 |
Android Blog 周刊 | AndroidBlog 是由 Jomeslu 收录的, 目前就职于搜狐, 该周刊分享内容主要有一周国内外热门技术博客, 优秀的类库, 以及一些有趣的新闻, 看了前几期分享的内容质量都是很高的, 因此值得推荐给大家 |
Awesome 系列:
- awesome android(1)
- awesome_android(2)
- awesome_android_UI
- awesome_android_libraries
- awesome_java
- awesome_materialdesign
- awesome 系列之终极版
动画系列
Material Design 设计:
- Material Design 教程
- Material Design 教程(中文版)
- Material Design Android Library (Material Design 开源库, 很多效果可以直接拿来用)
- 十大Material Design开源项目
素材:
开源库收集:
- Android Libraries and Resources
- Android Arsenal (一个专门收集 android 开源库的网站, 网站经常更新)
- Android 开源项目汇总 (Trinea 大神收集的)
- Android 开源项目源码分析 (在懂得使用这些开源项目同时, 也应该了解当中的原理)
- 泡在网上的日子
设计模式:
实践篇
- Android 开发最佳实践
- Android 最佳实践之 UI 篇
- Android 屏幕适配全攻略
- 给半新人的app开发指南
- Android 一些重要知识点解析整理
- Android开发人员应避免的10个误区
- Java反射最佳实践
- Android内存优化之OOM
- Android 命名规范
- Adapter优化方案的探索
- Android-Tips
- git 使用教程
- 最全 Android ADB Shell
- AndroidNote
- Android 常用工具类
- 创建安卓app的30个经验教训
- Android 三大图片缓存原理、特性对比
- Android 性能优化总结
- Android 实用代码片段整合
- 36个 Android 开发常用代码片段
文档:
- Android 官方 API 文档(网站需要翻墙,不翻墙可以下载离线文件)
- Android 官方培训课程中文版(由胡凯发起对 Google Android 官方培训课程翻译的中文版)
其它:
- 10个很棒的学习 Android 开发的网站
- Android 开发, 你应该知道的学习资源
- AndroidCat 安卓书签网
- 每个 Android 开发者都应该了解的资源列表
- Android 开发者网址导航
- Android 开发收藏夹
- TimLiu-Android(自己总结的Android开源项目及库)
知乎上的讨论:
- 有哪些 Android 大牛的 blog 值得推荐?
- GitHub 上都有哪些值得关注学习的 Android项目?
- GitHub 上有哪些适合新人围观的 Android 项目?
- 2015 年移动设备界面设计有哪些趋势?
- Android开发中, 有哪些让你觉得相见恨晚的方法,类或接口?
- Android Studio有哪些非常好用的插件?
- Android 开发有哪些新技术出现?
- 有哪些优秀的 Android 应用开源项目、特效、设计资料推荐?
- 有没有适合 Android 开发初学者的 App 源码推荐?
- Android有什么好的技术点适合进行技术分享?
- Android Studio有什么奇技淫巧?
- Android 开发: 开始一个项目前, 做好哪些准备可以事半功倍?
贡献者
点击该链接查看该项目所有贡献者
License
以上内容采用 CC BY-NC-SA 3.0 进行许可, 转载请注明出处, 版权归本人及所有贡献者所有