随着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这个网站。具体来说,是这些文章:
- 《Devices and Displays》
- 《Touch Feedback?》
- 《Metrics and Grids》
- 《Iconography》
另外,还可以下载包括模板,图标和控件的源文件,样式和无样式的动作栏图标等在内的部分。
想要开始写代码?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应用程序,那么对此一定要有所涉猎。
如果我有遗漏任何重要资源的地方,请在评论中告诉我,让我们共同进步。
编码快乐!