每个Android开发者必须知道的资源集锦
英文原文:Resources every Android developer must know
随着 Android 平台持续惊人的增长,越来越多的开发人员开始工作于 Android 应用程序。而且现在的 Android 平台已经非常成熟了。
这篇文章比较适合于初学者和有一定经验的 Android 开发者,文中罗列了最棒的资源。
书
也许你会认为从书中去学习新的开发框架会有点落伍,但这也确实是一条正确的道路。参见 Jeff Atwood 的《Programmers Don’t Read Books – But You Should》。
我推荐这两本书:
- Mark Murphy 的《The Busy Coder’s Guide to Android Development》。这本书的特别不仅是在于它的深度覆盖(有 2000+ 页),还在于其频繁的更新频率(〜每 2 个月)。这是迄今为止关于 Android SDK 这个快速变化的主题在书籍中最佳的模式。Mark Murphy 还定期开通一个办公时间,允许用户提问。图书样品托管在 GitHub 上。强烈推荐。
- Juhani Lehtimaki 的《Smashing UI》。一本很精彩的书,适合任何关注 UI 设计的 Android 开发者。
DEVELOPER.ANDROID.COM
在你写第一个 Android 应用程序之前,请用心研读和学习 Android Design 这个网站。具体来说,是这些文章:
另外,还可以下载包括模板,图标和控件的源文件,样式和无样式的动作栏图标等在内的部分。
想要开始写代码?sorry,请接着阅读:
- Best Practices for User Experience & UI (必读)
- Best Practices for Performance
- Displaying Bitmaps Efficiently
- Adding Animations (也可见于 NineOldAndroids 库)
- Tools help
- SDK Samples
STACKOVERFLOW
许多 Android 核心框架工程师,开发人员以及专业的 Android 开发人员经常在 stackoverflow.com 上回答问题。这是 stackoverflow 上一系列顶尖的 Android 用户表。我订阅了很多 RSS,例如:CommonsWare(Mark Murphy),Dianne Hackborn,Romain Guy,Reto Meier,Trevor Johns,Roman Nurik,Adam Powell (感谢 @remdroid!).。
博客
博客上面也有大量 Android 开发的最新信息:
- Gyuri Grell 的 Android Dev Weekly。每周提供最新的 Android 开发资讯。强烈推荐。
- Official Android developers blog。这个博客的文章非常值得浏览如:《Avoiding memory leaks》,《Memory Analysis for Android Applications》。
- Romain Guy。这是一个很牛逼的 Android 框架工程师写的博客,而且写的相当棒。一旦你熟悉了 Android 开发之后,一定要阅读《Android Performance Case Study》这篇文章。题外话:Romain 也是一位伟大的摄影师。
- Chet Haase 的 Codependent,Android 动画框架的创造者。
- Mark Murphy 的 The CommonsBlog。
- 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》。
- Mark Allison 的 Styling Android。
- Daniel Lew 的 Coding Thoughts——来自于一个写 Expedia 的 Hotels and Flights app(从前: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+ 社区:
- 官方的 Android 开发者社区
- Android 设计师社区
开源项目
阅读精心设计的应用程序的源代码是一个好主意:
- Google I/O Android app。如果你想要复制/粘贴代码,这里就可以让你复制。
- Chris Banes 的 Photup。
- Reto Meier 的 Android Protips: A Deep Dive Into Location。演示了如何使用位置检测,碎片和 BackupManager。不过我要提醒你,这代码已经有一段时间没有更新了。
当然,还有最终来源:Android source code。
开源库
一些最有用的开源库:
- Jake Wharton 的 ActionBarSherlock。在 Android 4.0+ 上使用本地动作栏,和通过一个单一的 API 和主题在 pre-4.0 上的一个自定义实现,来实现这个用于动作栏的设计模式的库。
- Jake Wharton 的 ViewPagerIndicator。兼容来自于 Android Support Library 和 ActionBarSherlock 的 ViewPager 的寻呼指示符部件。最初基于 Patrik Åkerfeldt 的 ViewFlow。
- Jake Wharton 的 NineOldAndroids。 在所有平台版本上——可追溯到 1.0——使用蜂窝动画 API 的 Android 库。
- Sergey Tarasevich 的 Universal-Image-Loader。强大而灵活的,用于异步图像的加载、缓存和显示的仪器。
- Koushik Dutta 的 UrlImageViewHelper。 UrlImageViewHelper 通过发现 URL 的图片,并自动下载,保存和缓存所有位图,填补了 ImageView 的空白。
- Chris Banes 的 Android-BitmapCache。一个专门的高速缓存,与 Android Bitmap objects 一起使用。
- Jake Wharton 的 DiskLruCache。 一个基于磁盘的 LRU 缓存的 Java 实现,专门针对 Android 的兼容性。
在 github 上搜索[android]项目还有很多。此外,DevAppsDirect app 是一个开源的自定义视图,小部件和库的集合。
GOOGLE I/O TALKS
虽然我们几乎不可能获得 GOOGLE I/O的门票,但所有的 GOOGLE I/O谈话可在网上找到,通常用幻灯片的形式。GOOGLE I/O Android 部分的会话:2012,2011,2010,2009。
我最喜欢的一些谈话:
- Alex Faaborg 和 Christian Robertson 的《Advanced Design for Engineers(2012)
- Chet Haase 和 Romain Guy 的《For Butter or Worse: Smoothing Out Performance in Android UIs(2012)
- Adam Powell 和 Richard Fulcher 的《Navigation in Android(2012)。如果你认为 Android 的 back/up 按钮问题很简单,那么看看这个震撼人心的谈话。
- Daniel Lehmann,Tor Norbye 和 Richard Ngo 的《So You’ve Read the Design Guide; Now What?》(2012)
- Chet Haase,Romain Guy 和 Daniel Sandler 的《What’s New in Android?》(2012)
- Xavier Ducrohet 和 Tor Norbye 的《What’s New in Android Developers’ Tools》(2012)
- Patrick Dubroy 的《Memory management for Android Apps》(2011)
- Brad Fitzpatrick 的《Writing zippy Android apps》(2010)
- Virgil Dobjanschi 的《Developing Android REST client applications》(2010)
别再说了,吓到我了
看到这里是不是压力有点大,但是千万不要绝望。上面有些资源都只是针对初学者的,还有一些则更适合于高级开发人员。
如何有效地掌握资源的几点建议:
- 首先,读书。请一定要读书。这是为了打好 Android 知识的正确基础。
- 订阅博客,通过 RSS 参与 stackoverflow 社区。
- 在 Google+ 中成立一个 Android 开发圈子。
ANDROID 巨星
由于 Android 的开发者生态系统持续蓬勃发展是基于许多非常优秀的开发者的贡献,所以在这里我特别要提到这两个让 Android 开发者更轻松生活的巨星。他们是:Mark Murphy 和 Jake Wharton.。
Mark 和 Jake 为 Android 开源做了诸多贡献。所以如果你有幸遇到他们,一定要向他们请教,你肯定会受益匪浅。
当然,其他还有很多 Android 框架开发人员和设计人员参与了 Android 的发展。
最后,结尾
现在你已经知道了关于如何写 Android 应用程序的所有信息和工具!但是,你还需要一个伟大的 Android UI 设计师,不过这就不是本文讨论的范围了。如果你想要开始写你的第一个 Android 应用程序,那么对此一定要有所涉猎。
如果我有遗漏任何重要资源的地方,请在评论中告诉我,让我们共同进步。
编码快乐!
-
译文链接:http://www.codeceo.com/article/android-resources-programmer-know.html
翻译作者:码农网 – 小峰
每个Android开发者必须知道的资源集锦的更多相关文章
- Android开发者资源大汇总
本文总结了最新的Android开发资源.下面列出的资源都是常用的,每个Android程序员都应该知道,能大大方便App开发.Enjoy~ 来源:Android开发周刊 中文的Android开发信息,资 ...
- 每个Android开发者都应该了解的资源列表
前言 这是一篇译文,原文地址Resources every Android developer must know,在译文开头,推荐两篇同样适合于Android开发者阅读的资源列表Android开 ...
- Android开发者必知的开发资源
推荐书籍 我推荐下面两本书: The Busy Coder’s Guide to Android Development <The Busy Coder’s Guide to Android D ...
- (转载)Android开发者必知的开发资源
(转载)http://www.importnew.com/3988.html 随着Android平台市场份额的持续猛增 ,越来越多的开发者开始投入Android应用程序的开发大潮.如果您是一位2013 ...
- [转][赞]Android开发者必知的开发资源
英文原文:Bongzimo 翻译: ImportNew-黄小非 随着Android平台市场份额的持续猛增 ,越来越多的开发者开始投入Android应用程序的开发大潮.如果您是一位2013年刚刚入行的 ...
- Android 开发者必知的开发资源
英文原文:Bongzimo 翻译: ImportNew-黄小非 译文链接:http://www.importnew.com/3988.html Android 开发者必知的开发资源 随着Androi ...
- 对Android开发者有益的40条优化建议
下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...
- Android开发者必备的42个链接
http://mobile.51cto.com/ahot-426035.htm Android开发者必备的42个链接 下面收集了42个帮助大家学习Android的内容链接,部分内容是面向初学者的,帮助 ...
- 给 Android 开发者的 RxJava 详解
我从去年开始使用 RxJava ,到现在一年多了.今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 .而最近这几个 ...
随机推荐
- Pip 安装 出现UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-5: ordinal not in
在Python 环境下,使用PiP 命令安装时,报错提示: UnicodeEncodeError: 'ascii' codec can't encode characters in position ...
- 基于visual Studio2013解决面试题之1309求子集
题目
- 项目.c文件和.h文件关系
"如有不正确之处,请指出,谢谢" --Mood 对于一个项目,我们应该要很好的处理众多的.c和.h文件. 1.通过头文件调用库功能:#inclu ...
- 实战ajax
原文:实战ajax 实战ajax Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面. 大家都知道aja ...
- MFC模板CArray及其派生类
CArray及其派生类 1. 简介:访问方法及效率和普通的数组一样,比普通数组强大的功能是可以改变数组的大小.Array采用队列方式存储数据,因而其内部数据元素是以物理方式顺序排列的,所以检索.顺序执 ...
- javascript 变量转义
$(this).append('<a href="2-1partner.html"><div><img width="645" h ...
- UVA 644 Immediate Decodability (字符处理)
An encoding of a set of symbols is said to be immediately decodable if no code for one symbol is the ...
- webdynpro 组件重用 传值问题
组件zwd1,需要调用组件zwd2的时候,zwd2组件控制器中需要定义一个方法,定义所要传输的参数,并且该方法需要定义为interface方法. 组件zwd1可以通过代码向导调用组件zwd2,的该方法 ...
- 基于特定值来推断隐藏显示元素的jQuery插件
jQuery-Visibly是一款小巧简单的jQuery隐藏显示元素插件.该插件依据某个元素的值,例如以下拉框的值.输入框的值等来推断是否显示某个指定的元素. 用于推断的值能够是单个值,或者是多个值, ...
- javascript 判断微信浏览器
原文:javascript 判断微信浏览器 用js判断当前环境是否是是微信内置浏览器有两个方法: 1.判断useragent 2.判断是否支持微信内置浏览器才支持的一些方法,比如WeixinJSBri ...