CouchDB-compatible mobile database; Android version
Java C C++ D
Switch branches/tags
Nothing to show
Pull request Compare This branch is 108 commits behind couchbaselabs:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


by Marty Schoch (

TouchDB-Android is the Android port of TouchDB by Jens Alfke ( For information on the high-level goals of the project see the iOS README. This document will limit itself to Android specific issues and deviations from the iOS version.

Current Status

  • Ported core functionality present in TouchDB-iOS as of Jan 22.
  • Unit tests pass


  • Android 2.2 or newer
  • Jackson JSON Parser/Generator


  • Apache License 2.0

Known Issues

  • Exception Handling in the current implementation makes things less readable. This was a deliberate decision I made to make it more of a literal port of the iOS version. Once the majority of code is in place and working I would like to revisit this and handle exceptions in more natural Android/Java way.


  • Finish porting all of TDRouter so that all operations are supported

Running the Demo App (currently requires Eclipse)

  1. Import all 3 projects into Eclipse (TouchDB-Android, TouchDB-Android-Listener, TouchDB-Android-TestApp)
  2. Right-click on TouchDB-Android-TestApp select Properties, select the Android, then in the Library section press Add, select TouchDB-Android, press Add again and select TouchDB-Android-Listener, press OK
  3. Right-click on TouchDB-Android-TestApp select Run As, select Android Application

NOTE: the HTTP Listener uses TDRouter to respond to requests, and TDRouter is still incomplete. Only a small nuber of requests are currently supported.