Resources every Android developer must know

As Android platform continues its incredible
growth, more and more developers start working
on Android apps. If you are beginning Android
development in 2013, you are a lucky person, as
the platform has greatly matured in the last few
years. While the number of available
developer resources may seem overwhelming, this
post points to the most important ones.
This post may be useful for both beginners and
moderately experienced Android developers, as a
single place where most useful resources are
listed.

BOOKS
You may think that starting to learn a
new development platform in 2013 by reading a
book is old-fashioned and you may be right. But
you should still do it: see Programmers Don’t
Read Books – But You Should by Jeff Atwood.
I recommend these 2 books:
The Busy Coder’s Guide to Android
Development by Mark Murphy. What makes this
book special is not only its depth of coverage
(2000+ pages), but its frequent updates (~every 2
months). This is by far the best model for books
on such rapidly evolving topic as Android SDK.
Mark Murphy also regularly holds office hours,
where subscribers can ask questions. Book
samples are hosted on
github. Highly recommended.
Smashing UI by Juhani Lehtimaki . An excellent
book for any Android developer who cares about
great UI design.
DEVELOPER.ANDROID.COM
Before starting to write your first Android
application, read and learn Android Design site by
heart. Specifically, these articles:
Devices and Displays
Touch Feedback
Metrics and Grids
Iconography
Also check out the Downloads section, which
contains stencils, source files for icons and
controls, styled and unstyled Action Bar icons.
Ready to start coding? Sorry, keep reading:
Best Practices for User Experience & UI (a must
read)
Best Practices for Performance
Displaying Bitmaps Efficiently
Adding Animations (also see NineOldAndroids
library)
Tools help
SDK Samples
STACKOVERFLOW
A number of Android core framework
engineers, developer advocates and expert
Android developers regularly answer questions on
stackoverflow.com. Here’s a list of top
stackoverflow Android users. I’m subscribed to
RSS answers’ feeds of many SO users; some of
them are: CommonsWare (Mark Murphy), Dianne
Hackborn , Romain Guy , Reto Meier , Trevor
Johns, Roman Nurik , Adam
Powell (thanks, @remdroid !).
BLOGS
Many blogs provide great up to date information
about Android development:
Android Dev Weekly by Gyuri Grell. An excellent
weekly newsletter with the latest Android
development news. Highly recommended.
Official Android developers blog. It’s worth
browsing through this blog’s archives, as some of
the posts are meaty, e.g.: Avoiding memory
leaks, Memory Analysis for Android Applications .
Romain Guy . An excellent blog by key Android
framework engineer. Once you are comfortable
with Android development, make sure to
read Android Performance Case Study post. Off-
topic: Romain is also a great photographer .
Codependent by Chet Haase, creator of Android
animation framework.
The CommonsBlog by Mark Murphy.
Cyril Mottier’s Android dev blog. A fantastic
resource with posts of great depth. Some of the
latest posts: 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 by Mark Allison.
Coding Thoughts by Daniel Lew - great tips from
one of the developers behind excellent Expedia’s
Hotels and Flights app (formely: Mobiata).
GOOGLE+
While Google+ has not become the social
network, it is an invaluable source of information
about Android development. Some of the Google+
profiles you may consider to follow are: Tor
Norbye (ADT), Dianne Hackborn , Romain
Guy , Chris Banes, Roman Nurik , Nick
Butcher, Adam Powell , Rich Hyndman , Cyril
Mottier, Paul Burke , Jeff Gilfelt.
Make sure to follow Jake Wharton , the author of
ActionBarSherlock, ViewPageIndicator,
NineOldAndroid, and many other open source
Android libraries.
Also consider joining few of the Google+
communities:
Official Android dev community
Android designer community
OPEN SOURCE PROJECTS
Reading source code of well designed apps is
always a good idea:
Google I/O Android app. If you like to copy/paste
code, this is the place to copy from.
Photup by Chris Banes.
Android Protips: A Deep Dive Into Location by
Reto Meier. Demonstrates use of location
detection, fragments, and BackupManager. Use
with care, as this code has not been updated for
some time.
And, of course, the ultimate source: Android
source code .
OPEN SOURCE LIBRARIES
Some of the most useful open source libraries:
ActionBarSherlock by Jake Wharton. Library for
implementing the action bar design pattern using
the native action bar on Android 4.0+ and a
custom implementation on pre-4.0 through a
single API and theme.
ViewPagerIndicator by Jake Wharton. Paging
indicator widgets compatible with the ViewPager
from the Android Support Library and
ActionBarSherlock. Originally based on Patrik
Åkerfeldt’s ViewFlow.
NineOldAndroids by Jake Wharton. Android library
for using the Honeycomb animation API on all
versions of the platform back to 1.0.
Universal-Image-Loader by Sergey
Tarasevich. Powerful and flexible instrument for
asynchronous image loading, caching and
displaying.
UrlImageViewHelper by Koushik
Dutta. UrlImageViewHelper fills an ImageView
with an image that is found at a URL and
automatically downloads, saves, and caches all
the bitmaps.
Android-BitmapCache by Chris Banes.
A specialised cache, for use with Android Bitmap
objects.
DiskLruCache by Jake Wharton. Java
implementation of a Disk-based LRU cache which
specifically targets Android compatibility.
Search github for [android] projects to find more.
Also, DevAppsDirect app is a great collection of
available open source custom views, widgets and
libraries.
GOOGLE I/O TALKS
While it has become virtually impossible to get a
Google I/O ticket , all Google I/O talks are
available online, usually with slides. Links to
Google I/O Android sessions over the years:
2012 , 2011 , 2010 , 2009 .
Some of my favorite talks:
Advanced Design for Engineers by Alex Faaborg
and Christian Robertson (2012)
For Butter or Worse: Smoothing Out Performance
in Android UIs by Chet Haase, Romain Guy (2012)
Navigation in Android by Adam Powell, Richard
Fulcher (2012). If you happen to think that fixing
Android back/up buttons issues is easy , watch
this humbling talk.
So You’ve Read the Design Guide; Now
What? by Daniel Lehmann, Tor Norbye, Richard
Ngo (2012)
What’s New in Android? by Chet Haase, Romain
Guy, Daniel Sandler (2012)
What’s New in Android Developers’ Tools
by Xavier Ducrohet, Tor Norbye (2012)
Memory management for Android Apps by Patrick
Dubroy (2011)
Writing zippy Android apps by Brad
Fitzpatrick (2010)
Developing Android REST client applications
by Virgil Dobjanschi (2010)
PLEASE STOP, YOU’RE SCARING ME
If this post looks a bit overwhelming, don’t
despair. Some of the links above are useful only
for beginners, while others are useful for more
advanced developers.
Few tips on how to efficiently consume this
content:
First, read the books. Did I mention you should
read the books? This will lay the proper
foundation of your Android knowledge.
Subscribe to blogs and stackoverflow answer
feeds via RSS.
Set up an android-dev circle in Google+.
ANDROID SUPERSTARS
As Android developer ecosystem continues to
flourish with contributions from many
exceptionally talented developers, special
mentions should be reserved for two people who
have been instrumental in making lives of Android
developers easier. They are: Mark
Murphy and Jake Wharton.
Mark and Jake have earned an unlimited beer for
life for making some of the most useful
contributions to Android open source. If you ever
meet them, make sure to buy them a drink of
their choice. [correction : based on the comments
below, Mark's beer should instead be directed to
Chris Bane. And if you read that far, you know
that the best way to thank Mark would be a
CommonsWare subscription.]
Obviously, a lot of Android framework developers
and designers at Google did a great job with
Android. A number of them is referenced in this
post.
THE END, FINALLY
That’s it, folks. You now have all the information
and tools to write some kick ass Android apps!
Well, not really: you still need a great Android UI
designer, but that is a topic for another post. But
you should definitely be ready to write your first
Android app.
If I’ve missed any great resources, please let me
know in the comments, as I plan to occasionally
update this post.
Happy coding!

Next PostNewer Post Previous PostOlder Post Home

0 comments:

Post a Comment