Logo Icon Logo
A Crowd-sourced Cookbook on Writing Great Android® Apps
GitHub logo Twitter logo OReilly Book Cover Art

RECIPE WISHLIST (temporary recipe a.k.a. Book Outline)

Author: Ian Darwin
Published? false
FormatLanguage: WikiFormat


There are lots of talented developers out there; we just need a way to help them decide what to write about.


Although the first edition of the published book has been sent to the Production team to make an eBook and printed book, there are still plenty of recipes that should be added here, some of which will make it into subsequent editions of the published work. This is no time to let up!

Note: This is not intended to be a complete list, only to give you some ideas on the kinds of things to write. Use your experience in developing real-world Android Apps to guide you to what topics to write that will be helpful to your fellow developers. This is neither a complete list nor the final shape of the printed book.

The annotation "Program" for a recipe at the end of a chapter indicates that it is a complete program, complete enough for an end user to run (even if somewhat limited), as opposed to most recipes which are code fragments that illustrate a particular part of the API.

Also note: This list is not maintained as aggressively as it might be. The list of recipes that have been written is under All Recipes (also listed in the menu bar atop every page).

Anyway, there's no harm done if two people a recipe on the same topic, as they will usually provide different solutions. Likely only one of the two will get printed, but the site is to remain up for future generations to find information via web search. Also, some Recipes have been started and never finished, so don't give up if a recipe you wanted to write appears in the "All Recipes" list!

If we actually get two completed recipes on the exact same topic, either the editor will choose, or we'll ask everybody to vote using the Vote arrows on the view recipe page.


Most Urgently Needed

  • Simple example using App Inventor
  • Cross-platform (HTML5/PhoneGap/AppCellerator, etc).


Designing a successful Application


  • Testing code that is mixed Java SE and Android project?


  • More Recipes involving the GL ES
  • More on 2D GRAPHICS!!
  • Using Copy and Paste
  • Pre-loading Clipboard Items

Graphical User Interface

  • More on TextView?
  • Adding a large touch navigator to a List (as Contacts, OISafe etc do)
  • Good, Effective Layouts
  • Feedback: Toast vs PopupWindow (which/when etc) Merge with "Exception Handling"?
  • Active Widget Icons (e.g., clock, in Shortcuts->Widgets menu)


  • Expandable ListView
  • sync multiple listviews
  • GridView jazzed up as per most Book Readers' Library/Bookshelf
  • More on ListView Best Practices - overscroll?


  • You name it.


  • Capturing Video
  • Switching between Front and Rear Cameras

Voice Input/Output

  • Voice Input [1]
  • Voice Output
  • Adding your own Voice Actions see [2]

Files / Persistence

  • Loading and Storing Images
  • Creating "Accounts" (other than Google and Phone)

Telephone Applications

  • Smarter Dialer - Scriptable Version (bsh/jython?)
  • Program: A reusable one-touch dialer

Networked Apps

  • Newsreader
  • Telnet/SSH client
  • Chat Client
  • Synchronization Protocol (or SyncML?)
  • VNC client!?

Web Services Apps

  • Using SOAP Web Services
  • Selling Books via Amazon
  • Selling Books on Alibris
  • Buying/Selling on eBay?

SMS Apps

  • SMS your phone to take surreptitious picture
  • SMS your phone to find its location
  • Send Me Directions / Appointment



  • How-to?
  • Applications?

Gaming and Animation

  • Moving Backgrounds ("Mario")
  • Distributed/MRPG Games - RedDwarf (formerly Sun Darkstar; see [3])
  • Controlling Devices (e.g., Solving Rubik's Cube)

Social networking

  • Dealing with Twitter OAuth!
  • Anything you can think of here

Cloud-based Apps

  • e.g. compute-expensive stuff
  • Hadoop for rendering map tiles in real time?
  • Working Offline (offline editing/data capture?)
  • Distributing OCR to CAPTCHA, results via email
  • ...

Location-Aware Applications

  • Take me back (car finder)
  • Current location on map
  • Find-a-friend
  • Find-a-restaurant - how to design the data structure
  • Alternate Turn-by-turn Navigation Apps


  • Don't Drop Me
  • Shake-a-key (generate the same keypair on two devices without any traceable connection)
  • Body wiggle to take surreptitious photo/start video


  • Verifying Identity (local/remote)

System Details

  • Keeping the Phone from dimming/suspending (Navigator & other long-running apps)
  • Powering things on and off
  • ...

Other Languages and Frameworks

Porting Apps from Other Mobile Platforms

  • Blackberry (JavaME + lots of RIM extensions)
  • Rewriting JavaME Apps
  • Running JavaME Apps directly with J2ME Runner
  • Rewriting iPhone Apps, or emulating them how?
  • Portability with PhoneGap
  • Portability with Titanium
  • Portability with Sencha
  • Going the other way: Running Android Apps on iOS using "In The Box"
  • Going the other way: Running Android Apps on a MS-Windows PC using BlueStacks
  • Going the other way: Running Android Apps on RIM's Blackberry PlayBook

Packaging, deploying and selling

  • Marketing your App with AndroidGear (PowerGear/HandAndGo)
  • Marketing your App on the Motorola Store


  • Having a plug-in enabled app (e.g., using different SMS providers over IP)
  • Browser plug-in?
idarwin 2016-11-23 19:55:55.207 React Native for x-platform, see http://www.andevcon.com/news/take-a-crack-at-react-native-with-kyle-banks?utm_campaign=Android+Developer+News
idarwin 2016-11-23 19:55:14.997 MultiDex, see http://blog.safedk.com/technology/two-years-multidex-65k-limit/
TheSneak 2012-01-13 11:41:51.348 I would like to see a recipe for how to play audio files located on a LAN (not on the device itself)
Jp 2011-05-16 12:18:46.376 It'd be nice to see some of the simpler things. How to sync multiple listviews, how to scroll a listview programmatically, etc...
jpelgrim 2011-01-14 02:20:45.944 Maybe also add a section (in Voice input/output) for adding your own Voice Actions? See http://www.google.com/mobile/voice-actions
idarwin 2010-08-05 17:18:18.671 "Android's pull-down notifications menu now includes a Wi-Fi toggle, which is handy, as are the music player controls that you can access easily from the tray" -- from The Reg's review of the Samsung Galaxy S, at http://www.reghardware.com/2010/07/28/review_smartphone_android_samsung_galaxy_s_gt_i9000/. How about a recipe using a Notification for a Power Control-like widget to control USB, Airplane Mode, GSM, maybe even brightness. At least one working, the others could be stubbed for now...
cad13 2010-07-17 20:51:24.792 Working with Calendar - Accessing calendar events, creating a new event and deleting events is a little bit like the dark side of the force! I would appreciate a chapter especially for the calendar access with examples and details (permission in manifest, reading calendar, creating events, deleting events).
lsim001 2010-07-17 20:38:52.494 Chapter About Testing -- First I want to start off by saying this is a great initiative. One thing I have found to be missing from Android books that I've looked at is chapter(s) about Testing. This seems odd especially since Android has a testing framework. And Testing is an essential part of any development cycle. So far even searching on the web the information has been readily available. I think the assumption is that you have experience and are comfortable with JUnit. So I hope the Android Cookbook will put in a chapter that talks about how to use the testing framework. I would definitely be very interested to learn from it.
hiroshi 2010-07-12 21:23:07.957 I want a recipe to build free and paid apps from the same source.