Android Developer Reading Guide

I have been developing Android applications professionally for several years. Recently I gave a boot camp on Android development and figured it would be helpful to provide a fairly conclusive list of references that could be used to continue the learning process once I left. This list should be useful to anyone that wants to learn Android development to a professional level.

---Updated Jan-29-2014---

Book
: Professional Android 4 Application Development by Reto Meier
Marakana Bootcamp Videos: http://www.youtube.com/playlist?list=PLE08A97D36D5A255F
Android Developer Root of all Documents: http://developer.android.com/guide/components/index.html
Android Source Code: https://github.com/android/platform_frameworks_base
Android Bug Reports: https://code.google.com/p/android/issues/list
API Demos App: Incredibly useful with tons of example code. Make it in eclipse via: New Project —> Android Sample Project —> API Demos
Manifest Information: http://developer.android.com/guide/topics/manifest/manifest-intro.html
Activities and their lifecycle: http://developer.android.com/reference/android/app/Activity.html
Resource Qualifiers Explained:  http://developer.android.com/guide/topics/resources/providing-resources.html

Google Training Videos

Google IO: http://www.youtube.com/playlist?list=PL734A052F802C96B9
Google IO: http://www.youtube.com/watch?v=WDDgoxvQsrQ&list=PL4C6BCDE45E05F49E
Android Developer Youtube Channel: http://www.youtube.com/user/androiddevelopers

App Design:
Google’s Design Recommendations and tutorial: http://developer.android.com/design/index.html
Get ideas of what a beautiful app should look like:
http://androidniceties.tumblr.com/

Must read blogs
:
http://android-developers.blogspot.com/
http://www.androiduipatterns.com/

Fragments (You need to read all of them to fully understand)

http://developer.android.com/reference/android/app/Fragment.html
http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts
http://developer.android.com/training/basics/fragments/index.html
http://developer.android.com/guide/components/fragments.html
http://developer.android.com/training/multiscreen/adaptui.html (How to handle rotation)
http://developer.android.com/training/multiscreen/screensizes.html (How to reuse common XML code. “Use Layout Aliases"  particularly interesting.)

Tool to make a class parcelabler
: http://devk.it/proj/parcelabler/
Data persistence: http://developer.android.com/guide/topics/data/data-storage.html
Database and Content Providers: http://www.vogella.com/articles/AndroidSQLite/article.html
String formatting possible in XML: http://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling

Android Specific Multithreading


Asynctask: http://developer.android.com/reference/android/os/AsyncTask.html
Handler: http://developer.android.com/reference/android/os/Handler.html
runOnUiThread (Sync to UI thread on an activity easily): http://developer.android.com/reference/android/app/Activity.html#runOnUiThread
Get warnings and runtime errors when you do bad things on the UI thread: http://android-developers.blogspot.com/2010/12/new-gingerbread-api-strictmode.html
Java Multithreading Basic Tutorial: http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html

UI Related

Common Android UI Components: http://developer.android.com/guide/topics/ui/declaring-layout.html
List of open source custom UI: http://www.androidviews.net/
Styles and Themes: http://developer.android.com/guide/topics/ui/themes.html
Make a custom button (Use selector): http://www.thesecretpie.com/2010/07/creating-custom-fancy-buttons-in.html
Designing for multiple screen sizes and densities
http://developer.android.com/guide/practices/screens_support.html
http://developer.android.com/training/multiscreen/index.html
Creating custom components: http://developer.android.com/guide/topics/ui/custom-components.html

Backwards Compatibility

Use wrapper classes: http://android-developers.blogspot.com/2009/04/backward-compatibility-for-android.html

Very frequently used libraries

Backwards compatible ActionBar: http://actionbarsherlock.com/
Backwards compatible animation: http://nineoldandroids.com/ 
Backwards compatible Holo theme: http://www.holoeverywhere.com/
Backwards compatible view paging: https://github.com/JakeWharton/Android-ViewPagerIndicator
Backwards compatible fragments (and many other things): http://developer.android.com/tools/extras/support-library.html

Data parsing

JSON Parsing (DOM): https://code.google.com/p/google-gson/
Jackson JSON XML Parsing (SAX/DOM):
http://jackson.codehaus.org/
http://wiki.fasterxml.com/JacksonInFiveMinutes

Data downloading and caching

Image Downloading:
https://github.com/square/picasso
Retrofit - REST client: https://github.com/square/retrofit
OkHttp An HTTP+SPDY client for Android and Java applications: https://github.com/square/okhttp


Does this sort of work sound interesting to you? Are you an amazing Android developer? Do you love quaint Bucks County Pa? We are looking for great Android Developers.
Apply now!
blog comments powered by Disqus