关于 Android 平台开发相关的有哪些推荐书籍?

转自:http://www.zhihu.com/question/19579609
作者:Shan Huang
链接:http://www.zhihu.com/question/19579609/answer/12306890
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

学习android开发,我不建议花太多时间在书籍上,因为android的版本更新实在太快了,任何一本书籍都不可能跟上Google的步伐,但是,对于新手来说,买一本入门的书还是可以的,这里我推荐以下学习资料:
Dev Guide(http://developer.android.com/guide/index.html,最好是安装SDK后本地阅读文档,否则需要麻烦),这是最全面的也是最权威的入门学习资料,优先阅读Android Basics和Framework Topics章节,一定要耐得住寂寞。
Resouces(http://developer.android.com/resources/index.html,建议阅读SDK本地文档,同上),优先阅读Articles和Topics,这些是进阶话题,对深入开发很有帮助。
StackOverFlow的Android Tag(http://stackoverflow.com/questions/tagged/android),这是一个编程的问答网站,从某种意义上和“知乎”很像,上面的同学都非常认真,很多问题也很有价值,没事可以当八卦看看,当然了如果你愿意你几乎都可以搜索到你想要的答案,这个网站可能会陪伴你度过你的程序猿生涯哦。
订阅Android Developers Blog(http://android-developers.blogspot.com/,推荐使用Google Reader订阅,如果在Android手机上配合News Rob客户端使用效果更佳~),这个博客可以帮助你了解Android平台的最新技术动态,很有帮助。
1.Google Android SDK开发范例大全 这本书是无数例子组成的,照着例子敲代码对于初学者还是挺有用的2.Pro Android 讲的相对深入些3.还是看官方文档才是王道
1.Google Android SDK开发范例大全
这本书是无数例子组成的,照着例子敲代码对于初学者还是挺有用的
2.Pro Android
讲的相对深入些
3.还是看官方文档才是王道

先来Android应用开发方面的好书;可能不适合入门,有一定基础的朋友细读,必有收获。

Android开发精要 (豆瓣)
Android应用性能优化 (豆瓣)
精彩绝伦的Android UI设计 (豆瓣)
Android应用UI设计模式 (豆瓣)

Java方面的好书,同样不适合入门:

Effective Java 第二版 中文版/Sun公司核心技术丛书 (豆瓣)
Java网络编程(中文版 第三版)(O'Reilly Java系列) (豆瓣)
Java并发编程实战 (豆瓣)

另有一本Android安全方面的实用书:

Android软件安全与逆向分析 (豆瓣)

由于工作与兴趣的关系,内核方面的书读得少;就不瞎写了。

这是我这两天写的一篇文章,下面是原文。Android 开发者必备的书单大家好,最近一段时间,Android 方面的书籍可谓是百花齐放,这几本书的作者都是在一线互联网公司奋斗的工程师,他们把多年的工作经验,身心耕植,汇聚成一本书。作为菜鸟的我们,只有一睹大…显示全部
这是我这两天写的一篇文章,下面是原文。
Android 开发者必备的书单

我们都知道开发Android App 是用Java 语言的,当然你也可以使用其他语言来开发Android,当然主流还基本上都是用Java,所以先来给大家推荐几本Java 书籍,这几本书籍不必都看完采取学习Android,但随着学习的深入,就有点捉襟见肘了,所以要提升Java 的技能的。

《深入浅出Java》
作为入门书籍,深入浅出系列,一直是浅显易懂,所以作为入门太合适不过了。
<img src="https://pic4.zhimg.com/a01156c7defa269b24245bb747e42ba3_b.jpg" data-rawwidth="350" data-rawheight="350" class="content_image" width="350">

《Think in Java (Java 编程思想)》
如果你是初学者,可以跳过这本书,但你稍微有点经验,这本书就逃脱不过了,当你觉得Java 水品想要从菜鸟向大神进阶,那就拿这本书自虐吧。
<img src="https://pic2.zhimg.com/4a73e979bee9f66b127c5cb995722e6d_b.jpg" data-rawwidth="350" data-rawheight="350" class="content_image" width="350">

《第一行代码》
郭霖大神的书,之前自学,看他的博客也使受益匪浅。书中讲述了Android 中基本的内容,比如四大组件,数据存储,网络请求,数据库等。如果你想快速入门Android,那么这本书你不该错过。
<img src="https://pic2.zhimg.com/2d6c898e037b7610ed117a5f638d9641_b.jpg" data-rawwidth="349" data-rawheight="350" class="content_image" width="349">

《Android Programming: The Big Nerd Ranch Guide (2nd Edition)(Android 编程:权威指南)》
这本书是国外知名培训机构Bignerdranch(我想说,这才叫培训机构,国内的xx,我就无力吐槽了) 出的入门书籍,书中以项目为主题,从最项目相关的知识点开始,循序渐进,从最简单的,慢慢来提升。
<img src="https://pic2.zhimg.com/28d3b4a5adbc091b552ad574778cbe41_b.jpg" data-rawwidth="349" data-rawheight="350" class="content_image" width="349">

《Head First Android Development(深入浅出Android 开发)》
又一深入浅出系列的书,不过这本好像还没有翻译成中文,书中的内容也是很基础的,和《第一行代码》中讲的内容重合度很高,如果你英文不错,你可以来尝试来读。
<img src="https://pic1.zhimg.com/2b6c1009cb3aa82d61d71058628cdd1c_b.jpg" data-rawwidth="350" data-rawheight="350" class="content_image" width="350">

《Android 群英传》
作者名宜生,在群里被我们唤作医生,不过医生的博客何在慕课网的教学视频,都是非常值得读的,他出的书,也是非常值得看的。作为进阶书,书中不仅将的新手比较难以掌握的View 绘制,性能优化,也讲述Android Studio 的使用和Android 5.0 的新特性。
<img src="https://pic2.zhimg.com/ba586796a082ac207507158c16aa3c85_b.jpg" data-rawwidth="349" data-rawheight="350" class="content_image" width="349">

《Android 开发艺术探索》
作为新手,从写UI,使用框架,写多了就像小学生交作业一样,也仅仅停留在了只会使用的层面上,那么这本书,则带你去更深次的去理解Android 开发,让你开发更加得心应手,书中讲解View 的工作原理和事件体系,性能分析,深入理解动画,JNI 等等。
<img src="https://pic1.zhimg.com/799668eefe6da49a36868998a339dad8_b.jpg" data-rawwidth="349" data-rawheight="350" class="content_image" width="349">

《Android 设计模式源码分析》
在Android 中,总有一些代码使用感觉很熟悉,比如像AlertDialog,对的,在Android 中一样有大量使用设计模式。这本书深入分析Android 源码中使用到的设计模式。
<img src="https://pic4.zhimg.com/2ba2448fb74fae16aea5ef0d285de3d7_b.jpg" data-rawwidth="350" data-rawheight="350" class="content_image" width="350">

《Android 开发精要》
作者是豌豆荚Android 负责人范怀宇,书的内容, 从Android 源码中抽次剥茧的“精华”和“要点”,虽然书本不是特别厚,但拿着这本书就像武功宝典,书中的内容吃透了,你就练就了盖世神功。
<img src="https://pic3.zhimg.com/db81bc27433b7e96ad7cb0aa923039aa_b.jpg" data-rawwidth="350" data-rawheight="350" class="content_image" width="350">

《App 研发录》
这本书相对于其他书,这本显得更加特别独特,其他都是讲的纯Android 技术,这本书从更加宏观的角度,讲怎么规范开发,让开发更高效,比如重构,封装网络库,还分析了一些经典的场景,崩溃分析,持续集成(CI)等等。
<img src="https://pic1.zhimg.com/2af3cc6c302e38236dd23d04005133f0_b.jpg" data-rawwidth="350" data-rawheight="350" class="content_image" width="350">

市面上的书多如牦牛,能发现一本好书也是不易的。上面的书,也希望能为大家Android 开发有一些帮助,当然了,书中的有些内容,随着时间的迁移,书中的内容也会变得落后,所以除了看书,我们也应该时刻关注Android 官方的博客和Android 发布的新版本,还有关注微博上的大牛和订阅一些头条日报来学习新技术。

通过商业级别开源程序的进行学习,在http://code.google.com上有很多,推荐一个:饭否的终端程序:http://code.google.com/p/fanfoudroid/ Wordpress终端程序:http://android.wordpress.org/ 以上两个例子的用户交互设计都比较专业,适合学习UI设计,Android里面常用的设计模式。
通过商业级别开源程序的进行学习,在http://code.google.com上有很多,推荐一个:
饭否的终端程序:
http://code.google.com/p/fanfoudroid/
Wordpress终端程序:
http://android.wordpress.org/

以上两个例子的用户交互设计都比较专业,适合学习UI设计,Android里面常用的设计模式。

学习一样新事物或许有多种方式,报培训班,看视频,向高手请教等等,但一本好书往往可以让你少走很多弯路,事半功倍。
下面我会推荐几本个人觉得搞Android开发值得一读的书籍。
1,Head First Java(中文版)(第2版)(涵盖Java5.0)
推荐理由:Android应用层和大部分framework层用的都是java,加上现在大学教育大家都懂得,学的少,混的多,所以立志于搞这个,java基础还是有必要夯实一下的。
2,Head First设计模式(中文版)(2004年度JOLT大奖获奖图书)
自己做一个模块挺长时间了,导师让出个文档。自己去写了,但导师看一遍后,就问,你知道这个功能是什么了,但是为什么这样设计,你想过没?当时我就被问住了,他也没多说什么,只是让我找些设计模式的书看看。
推荐理由:虽然这本书看起来也很欢乐,但是设计模式到底还是一种编程习惯的浓缩,很多模式即使看到了,也不一定能理解,即使理解了,也不一定能用上。即使用上了,也不定真用对了。这本书我只是明白了点皮毛。
3,疯狂Android讲义(附CD光盘1张)
一天同事来我住所玩,随便翻弄书架,随口问,你不是搞Android的么?我说,是啊。“那奇怪了,怎么一本这方面的书籍都没有,看来你平时没少划水。”他回到。就这样有了这本大全类型的android开发书籍,放在我的柜子里。
推荐理由:同一时间买了三本类型差不多的书,这本无论是例子还是文章结构都会好一点。这本书很厚,字小,作者是铁了心往里面塞东西了。同时作者名字(李刚)也霸气侧漏,不服不行啊,当工具书偶尔翻翻不错的。
4,深入理解Android(卷1)
推荐理由:能帮助你深入理解view,作者的文笔流畅,见解独到,而且系统地,深入地讲解了Android系统原理。同事作者那种层层递进,抽丝剥茧式的分析模块的手法也非常值得学习。听说很快出2了,期待一下,哪怕是收藏。
5,Android内核剖析
推荐理由:作者本人就是从上到下无所不通的全才,但是行文非常务实,专注。讲的点都能讲透,感觉要是会点c或驱动看这本书会更有带入感。
—————————上边是书,下边推荐几个安卓开发很好的学习平台————————————
再推荐几个安卓开发者常上的平台,能很好的帮助你从各路大牛身上学到更多的东西。
推荐你关注DevStore(主要是开发者服务商店)还有csdn和开源中国,都是开发者经常关注的网站。
DevStore(开发者服务商店),主要是整合开发者会用到的服务,可以实现在线对比评测,省去自己去网上搜索寻找的过程,还有sdk配置过程,很方便
csdn是 中国最大的开发者技术社区,牛人还是很多的
开源中国是目前国内最大的开源技术社区,主要是软件下载,源码托管

书还是推荐几本:《Pro Android》 《Android应用开发揭秘》《Android游戏开发》作为入门看看不错

1.永远记住 http://developer.android.com 是你最好的老师,没有别的。2.如果英文阅读有障碍,国内推荐李刚老师的《疯狂Android讲义》,没记错的话这书每一年左右会修订一次,跟上最新的 SDK ,是我看到现在唯一一本不是对着 SDK 翻译的书。全书在 4.0 下完成,Frag…显示全部
1.永远记住 http://developer.android.com 是你最好的老师,没有别的。

2.如果英文阅读有障碍,国内推荐李刚老师的《疯狂Android讲义》,没记错的话这书每一年左右会修订一次,跟上最新的 SDK ,是我看到现在唯一一本不是对着 SDK 翻译的书。全书在 4.0 下完成,Fragment、ActionBar、Async 之类都有涉及。这本书很厚(真不是一般的厚-_-),买回来推荐闲时翻,用时查。

3.当然,如果你对看书没什么兴趣,可以看视频。这方面我推荐前期看 Mars 陈老师的《Android开发系列教程》,这个教程他录过两版,第一版是10年开始录的,有点老了。不过陈老师很负责,现在正在录第二版,他的官方论坛都可以下载到。(陈老师有时候会放福利,年前我还收到了论坛送的一张年历卡小礼物)。对了,如果觉得陈老师的视频看着不过瘾可以去看老罗(不是罗永浩→_→)的视频教程,这人给我感觉很牛叉,上交研究生毕业,搞 Android 搞得很底层,著有《Android源代码情景分析》(我们学校图书馆有,曾跪舔过一下午没看懂几页这种事我会说出来吗)。估计写上层的 App 都是他的副业了应该。

4.最后,如果你 Java 都不是很过关,推荐你去看 Mars 老师的《Java4Android》系列教程。
回答完毕,开始新一天和高数的战斗!::>_<::

《Android群英传》出版祭带大家随意感受一下目录显示全部
推荐《android群英传》,csdn博主徐宜生之作!
似乎是8月份才出版的,满满干货,新鲜热辣。
作者博客:对不起!我来晚了!——《Android群英传》出版祭

带大家随意感受一下目录
<img data-rawheight="733" data-rawwidth="1187" src="https://pic1.zhimg.com/a4039fef2bb17ec6232117ddf20123f4_b.png" class="origin_image zh-lightbox-thumb" width="1187" data-original="https://pic1.zhimg.com/a4039fef2bb17ec6232117ddf20123f4_r.png">
<img data-rawheight="875" data-rawwidth="1210" src="https://pic2.zhimg.com/ff9f16ce33e9fae92cf981cb33dec5e9_b.png" class="origin_image zh-lightbox-thumb" width="1210" data-original="https://pic2.zhimg.com/ff9f16ce33e9fae92cf981cb33dec5e9_r.png">

android内核剖析

江斌推荐的偏应用,补充几本我觉得对做机有帮助的。

  1. Embedded Android - Porting, Extending, and Customizing
    By Karim Yaghmour
    我觉得这本书的附加值在于:
  2. 系统介绍了AOSP的build system, 让读者迅速了解Android下的各种Make的本质,并在此基础上定制满足自己需要的make target.
  3. 解析了Android系统的初始化过程以及各种配置,让读者能迅速找到应该在什么地方完成什么样的定制,比如开启/禁用某些服务,分区权限,乃至开机动画这些细枝末节的东西都有讲
  4. 介绍了让Android与传统嵌入式Linux “Legacy User-Space”共存的一些做法,解决链接到bionic的Android app与链接到glibc的linux app共存并通信的问题
  5. adb的一些技巧,比如port forwarding什么的。

  6. Android开发精要
    ~ 范怀宇
    前半部分解析了Android应用的组件模型,通信机制和生命周期。让我对应用码农在说什么能有一个基本的判断,后半部分讲各种控件的没看过,不了解。

  7. 深入理解Android~ 邓凡平 (作者)
    这个套书相当于一个源码导读吧,好像还在继续出。看了卷1的zygote和binder相关的章节还是挺有收获的,其它的没看就不说了。

你或许觉得,都现在了,再去看个什么书来学习Android开发,这方法应该早就过时了。没错,或许你的想法是对的。但是我们还是推荐按照过时的办法来。理由的话,请参看: Programmers Don’t Read Books – But You Should (作者为:Jeff Atwood)

  我推荐下面两本书:

   The Busy Coder’s Guide to Android Development

  《The Busy Coder’s Guide to Android Development》(Mark Murphy著)。这本书最大的特色就在于它的覆盖广度(此书有超过2000页的篇幅),而且更新频率很高(平均每2个月更新一次)。这本书对于快速进化的Andoird平台来说,应当是很具有榜样性质的。作者Mark Murphy本人还设立了常规答疑环节,这样本书的读者就能够向作者直接提问。本书的示例源代码全部都发布在 github上面。所以综上所述,强烈推荐。

  《Smashing UI 》(Juhani Lehtimaki著)。对于那些关注如何做出顶级UI设计的Android开发者来说,此书无可挑剔。

  Smashing UISmashing UI

  developer.android.com 官方开发者站点推荐资源

  在动手编写第一个Android应用之前,用心读一读Android Design章节。尤其是下面的这些文章:

  Devices and Displays (设备和显示)

  Touch Feedback (触摸反馈)

  Metrics and Grids (度量和网格)

  Iconography (图像研究)

  同时也请下载Downloads部分的代码,这些代码囊括了Android图标和控件的设计模板,源文件,样式以及无样式图标等等。

  那么读完了这些以后就可以开始编程了么?不,最好连下面的东西也一起读:

  Best Practices for User Experience & UI (a must read) (用户体验和用户接口最佳实践——必读)

  Best Practices for Performance (性能最佳实践)

  Displaying Bitmaps Efficiently (高性能位图显示)

  Adding Animations (also see NineOldAndroids library) (动画效果——同时也需要看NineOldAndroids库的介绍)

  Tools help (开发工具介绍)

  SDK Samples (SDK示例)

  StackOverflow 推荐资源

  很多Android核心框架的工程师,开发者布道师以及Android开发专家都会经常到stackoverflow.com上助人为乐。以下是关于Android最热门问题的清单。我已经订阅了很多高手的RSS feeds, 例如:CommonsWare (Mark Murphy), Dianne Hackborn, Romain Guy, Reto Meier, Trevor Johns, Roman Nurik, Adam Powell (感谢, @remdroid!).

  Blogs 推荐资源

  很多博客能够提供给你最好最新的Android开发资源

  Android Dev Weekly (博主 Gyuri Grell)。这是一个极好的博客,可以为Android新手提供一手的开发新闻。

  Official Android developers blog。这是一个绝对值得一看的博客档案,里面的很多东西都是干货,比如:Avoiding memory leaks (如何防止内存泄露), Memory Analysis for Android Applications (Android应用程序内存分析).

  Romain Guy。来自Android核心框架组工程师的博客。一旦你开始熟悉Android开发了以后,一定要阅读他写的Android Performance Case Study这篇博文。当然,他的博客还包含一些非技术的内容,比如:great photographer (优秀的摄影师)

  Codependent(博主:Chet Haase),Chet Hasse是Android动画框架的创始人(Youtube上的Android开发者频道上有Chet Hasse的专题节目DevOps——译者注)

  The CommonsBlog (博主:Mark Murphy)

  Cyril Mottier 的Android博客。这个博客里的博文都很有深度,而且资源非常丰富。最新更新的博文包括:ListView Tips & Tricks #5: Enlarged Touchable Areas, Tweeted Android Development Tips, The Google Maps Android API V2 Utopia, Android App Launching Made Gorgeous, “Pull-to-refresh”: An Anti UI Pattern on Android.

  Styling Android (博主:Mark Allsion)

  Daniel’s Lew的Coding Thoughts —— 此博客的作者是美国Expedia公司的著名Android应用 Hotels and Flights(正式名称叫Mobiata)的开发人员之一,他的博客经常能给出很多有价值的提示。

  Google+ 推荐资源

  在Google+尚未成为社交网络的时候,它就已经是Android开发资源的一块瑰宝了。以下是一些你应该关注的Google+账号: Tor Norbye (他是ADT的开发者之一), Dianne Hackborn, Romain Guy, Chris Banes, Roman Nurik, Nick Butcher, Adam Powell, Rich Hyndman, Cyril Mottier, Paul Burke, Jeff Gilfelt.

  记住一定要关注 Jake Wharton 这个人,他是ActionBarSherlock,ViewPageIndicator,NineOldAndroid以及其他很多著名的开源Android库的作者。

  同时也请考虑加入Google+上的一些社区,例如:

  Official Android dev community (Google+上的官方Android开发者社区)

  Android designer community

  开源库推荐

  以下是一些最有用的开源库项目:

  ActionBarSherlock,作者是Jake Wharton。这个库在Android 4.0+版本上通过本地action bar实现了action bar设计模式,并通过单个API和主题在4.0之前的版本上做出了一个自定义action bar实例。

  ViewPagerIndicator,作者同样是Jake Wharton。Paging indicator组件与ViewPager都来自于Android支持库和ActionBarSherlock。他们的最初原型是来自于 ?kerfeldt的ViewFlow。

  NineOldAndroids,作者是Jake Wharton。这个Android库使用Honeycomb 版本的动画API,对直到1.0版本的Android系统全部适用。

  Universal-Image-Loader,作者Sergey Tarasevich。这个库具有强大的功能和灵活性,可支持图像的异步加载,缓存和显示。

  UrlImageViewHelper,作者Koushik Dutta。 UrlImageViewHelper可以根据一个URL来找到图形,并填充到ImageView里,还能实现对图像的自动下载,存储以及位图缓存。

  Android-BitmapCache,作者Chris Banes。这是一个很有特色的缓存库,用于缓存Android位图对象。

  DiskLruCache,作者Jake Wharton。这是一个基于磁盘系统的LRU缓存库,主要针对于Android平台,用Java实现。

  在github 上搜索[android] 项目,你可以找到更多的开源库。而且,DevAppsDirect 应用提供了很好的功能,去归纳目前已有的开源视图,组件和工具库。

  GOOGLE I/O TALKS 推荐资源

  总的来说Google I/O的门票现在已经火爆到了一定程度了,你基本上是不可能买到票去现场的,不过所幸的是,所有Google I/O的主题演讲都会被放到网上,并且提供PPT下载链接。以下是Goolge I/O Android相关的所有主题演讲的链接:

  2012年, 2011年,2010年, 2009年.

  其中一些主题是我非常喜欢的,如:

  Advanced Design for Engineers(工程师设计进阶),演讲人 Alex Faaborg and Christian Robertson (2012年)

  For Butter or Worse: Smoothing Out Performance in Android UIs(Butter项目:让Android UI 性能更加流畅)演讲人: Chet Haase, Romain Guy (2012年)

  Navigation in Android(Android导航)演讲人: Adam Powell, Richard Fulcher (2012)。如果你认为Android的back/up按键问题很好解决的话,看看这个视频你就不会这么想了。

  So You’ve Read the Design Guide; Now What?(学完了设计指南,然后?)演讲人:Daniel Lehmann, Tor Norbye, Richard Ngo (2012)

  What’s New in Android? (Android更新介绍)演讲人:Chet Haase, Romain Guy, Daniel Sandler (2012)

  What’s New in Android Developers’ Tools(ADT更新介绍)演讲人:Xavier Ducrohet, Tor Norbye (2012)

  Memory management for Android Apps(Android应用程序内存管理)演讲人:Patrick Dubroy (2011)

  Writing zippy Android apps(编写敏捷的Android应用)演讲人:Brad Fitzpatrick (2010)

  Developing Android REST client applications (开发基于REST的Android客户端应用)演讲人:Virgil Dobjanschi (2010)

  停!太多了!

  如果本贴的内容太过丰富,让你觉得应接不暇,没关系,有些内容是专门针对于初学者的,如果你不是初学者的话,你可以只关注本文中那些相对高级一些的主题。

  关于如何有效地选择内容,以下是几点建议:

  首先,看书。本文一开始就提到了,你应当要看书。看书能为你打下Android开发的牢固知识基础。

  订阅本文中提到的博客内容,以及stackoverflow的问答内容(通过RSS)

  在你的Google+账户上创建android-dev开发圈子(当然,由于某些原因,墙内的朋友们可以在墙内的社交媒体或者论坛上建立自己的Android开发圈子——译者注)

  Android巨星

  在Andoird开发者生态系统的持续繁荣的过程中,逐渐涌现出了许多天赋异禀的巨星级开发人员,尤其下面这两位,他们的工作让其他Android开发者们受益匪浅。他们是:Mark Murphy 和 Jake Wharton。

  Mark和Jake在Android开源项目上面贡献良多,可以说早已功成名就。如果你有幸见到他们,一定要请他们喝喝啤酒,表示感谢。(不过根据回帖的情况来看,Mark Murphy本人不喜欢喝酒,而有一位叫Chris Bane的网友愿意帮他喝,所以要请客的话可以直接请Chris Bane,并且,如果你一直坚持阅读到了现在,那你就明白感谢Mark Murphy最好的办法就是去订阅他的博客 CommonsWare——原文作者)。

  显然,多数Google的Android开发者和设计师也为Android系统做了很多工作。他们中的部分人在本文中也有提到。

你可能感兴趣的:(初学android)