Collect

ODK Collect renders forms into a sequence of input prompts that apply form logic, entry constraints, and repeating sub-structures. Users work through the prompts and can save the submission at any point. Finalized submissions can be sent to (and new forms downloaded from) a server. Currently, ODK Collect uses the Android platform, supports a wide variety of prompts (text, number, location, multimedia, barcodes), and works well without network connectivity.

Installation

Please read all the instructions and notes before beginning.

You will need an Android device (like the Google Nexus One) to install ODK Collect. If you don't have an Android device and you have some technical expertise, you can follow our instructions for installing the emulator.

There must be an external SDCard on the device. Most Android 4.x devices have one of these built-in. Older Android 2.x devices generally do not and require that one be installed (typically in a slot near your SIM card). If ODK Collect fails to start, it is likely because the SDCard has become unseated or is missing. Re-seat or install the SDCard and try again.

Downloading from Google Play

From your device's application drawer, choose the Play Store.

Search for "ODK" and choose "ODK Collect" from "Open Data Kit".

Select that result and click the Install button. Click OK after viewing the security settings.

In the download window, you will see ODK_Collect_vN.N.N.apk. Select it to download the file. On older devices, the APK will automatically install after you approve the security settings. On newer devices, you must go to the download list, rename the file to restore the .apk extension (the extension will have been renamed to .man during the download process), then click on it to install it.

If you would like to use the barcode scanning capabilities, you should find and install the Zxing Barcode Scanner in the market, or at https://github.com/zxing/zxing.

Using the Application

ODK Collect will appear in your application drawer. Select it to launch the application.

To change ODK Collect preferences, press your device's dedicated Menu button when you are in the ODK Collect start screen. On Android 3.x and 4.x devices without a dedicated Menu button, the Menu button functions are accessed through the narrow vertical glyph of three-small-squares displayed in the top right of the menu bar.

Useful Notes

The Android emulator is slow and buggy. If you can deploy on a real Android device, we highly recommend that approach.

Once you are satisfied with how Collect works, you will likely want to setup your own private of Aggregate to store your own forms and data. Use these instructions.

Your application url must be given to Collect before it will get forms from and submit data to your copy of Aggregate. In Collect's Main Menu, press the Menu button. Select Change Settings to set https://my-app-id.appspot.com as the server URL.

Forms you design do not have to be uploaded to Aggregate for them to be used. They can be manually added to the device. Simply place them in the /odk/forms folder on your Android device's SD card.

Like forms, data does not have to be sent to Aggregate. You write an HTTP post to any web server or use an offline processor like Kobo Post Processor. You can also retrieve them from /odk/instances folder on your Android device's SD card.

If you want to debug what Android or Collect is doing, install the Android SDK and adb logcat to get a trace.

Use the Android SDK's adb tool if you need to install/uninstall the ODK Collect APK file when you are without an Internet connection.