ODK Collect
filling out forms

Sample blank surveys can be downloaded within the app.
Open Data Kit (ODK) is a cross-platform set of tools which help organizations author, field, and manage mobile data collection solutions. ODK provides an out-of-the-box solution for users to:
- Build a data collection form or survey;
- Collect the data on a mobile device and send it to a server; and
- Aggregate the collected data on a server and extract it in useful formats.
In addition to socio-economic and health surveys with GPS locations and images, ODK is being used to create decision support for clinicians and for building multimedia-rich nature mapping tools. See featured deployments and list of tools for more examples of what the ODK community is doing. We welcome and encourage participation from the user community.

NonFreeDep
: The application depends on a non-free application (e.g. Google Maps) - i.e. it requires it to be installed on the device, but does not include it.NonFreeNet
: This application promotes or entirely depends a non-Free network service.Tracking
: The application tracks and reports your activity to somewhere – usually either without your consent, or by default (i.e. you’d have to actively disable it). It’s commonly used for when developers obtain crash logs without the user’s consent, or when an app is useless without some kind of authentication.
AppID: | org.odk.collect.android |
Author: | ODK |
License: | Apache-2.0 |
Donation: | |
InRepoSince: | 2020-07-27 |
LastRepoUpdate: | 2021-02-25 |
LastAppUpdate: | 2021-02-25 |
LastVersion: | v1.30.1 |
Categories: | Science & Education |
Google Play: | Check if it's there |
Packages
Version v1.30.1 (2021-02-25)
Android Versions:
- Target: 10.0
- MinVer: 5.0
Permissions:
- ACCESS_COARSE_LOCATION
- ACCESS_FINE_LOCATION
- ACCESS_NETWORK_STATE
- ACCESS_WIFI_STATE
- CAMERA
- FOREGROUND_SERVICE
- GET_ACCOUNTS
- INTERNET
- MANAGE_ACCOUNTS
- READ_EXTERNAL_STORAGE
- READ_PHONE_STATE
- RECEIVE_BOOT_COMPLETED
- RECORD_AUDIO
- USE_CREDENTIALS
- WAKE_LOCK
- WRITE_EXTERNAL_STORAGE
- BIND_GET_INSTALL_REFERRER_SERVICE
Features:
- None
65 Libraries detected:
Libraries:
- Google Gson (Utility) A Java serialization/deserialization library to convert Java Objects into JSON and back.
- ZXing ('Zebra Crossing') (Utility)
requires 3 permissions: android.permission.WAKE_LOCK, android.permission.VIBRATE, android.permission.CAMERAZXing („zebra crossing“) is an open-source, multi-format 1D/2D barcode image processing library. - Java MP4 Parser (Utility) outdated API to read, write and create MP4 container.
- Android Support v4 (Development Framework) The Android Support Library is not actually a single library, but rather a collection of libraries that can roughly be divided into two groups: compatibility and component libraries. For details, please see Understanding the Android Support Library.
- Arch (Utility) helper for other arch dependencies, including JUnit test rules that can be used with LiveData.
- AppCompat (Utility) support newer Android features on older Android versions.
- Browser (Utility) display webpages in the user's default browser.
- Androidx Core (Utility) a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs.
- Exifinterface (Utility) a library to read and write image file EXIF tags.
- androidx.legacy (Utility) a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs.
- Lifecycle (Utility) perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
- Loader (Utility) library to load data for your UI that survives configuration changes.
- Media (Utility) share media contents and controls with other apps.
- Preference (Utility) a library to build interactive settings screens without needing to interact with device storage or manage the UI.
- Room (Utility) a persistence library that provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
- Sqlite (Utility) library that contains abstract interfaces along with basic implementations which can be used to build your own libraries that access SQLite.
- Transition (UI Component) animates motion in the UI with starting and ending layouts.
- Vectordrawable (UI Component) AndroidX library to render vector graphics.
- WorkManager (Utility) an API that makes it easy to schedule deferrable, asynchronous tasks that must be run reliably .
- BikramSambat (Utility) convert between JavaScript Date object to a BikramSambat object representing date in Bikram Sambat calander.
- Butter Knife (Utility) binds Android views and callbacks to fields and methods.
- Glide (Utility) An image loading and caching library for Android focused on smooth scrolling
- okhttp-digest (Utility) a digest authenticator for okhttp.
- Fasterxml (Utility) an XML parser
- Firebase Data TransportⓃ (Utility) Firebase Data Transport is part of Google’s Firebase SDK.
- FlexboxLayout (Utility) a library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android.
- Google Maps APIⒹⓃ (Map) API to automatically handle access to Google Maps servers, data downloading, map display, and response to map gestures.
- Google Mobile ServicesⒹ (Development Framework) Google Mobile Services in terms of the Android library refers to Google Play Services, a proprietary background service and API package for Android devices which is not part of the Android Open Source Project (AOSP). The library does not contain those services (i.e. it usually requires the Google Framework, often referred to as „GApps“, being installed on the device), but allows an app to communicate with them. Be aware this usually goes along with transferring at least parts of your personal data to the Google network.
- Google Material Design (Utility) library to help with material design guidelines.
- Google API Client LibrariesⓃ (Development Framework) provides functionality common to all Google APIs, e.g. to access the user's Google Calendar, obtain an auth token to access the Google Account, and more.
- Google Core Libraries for Java 6+ (Utility) a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more.
- FirebaseⓃⒹ (Utility)
- RxRelay (Utility) RxJava types that are both an Observable and a Consumer.
- ZXing Android Embedded (Utility) Barcode scanning library for Android, using ZXing for decoding.
- Dexter (Utility) library that simplifies the process of requesting permissions at runtime.
- Mapbox Android SDK (Map) integrating Mapbox into Android apps (for custom online maps).
- Mapbox Maps SDK for Android (Map) a toolset for displaying maps inside of Android applications. Also see OSM Wiki.
- Opencsv (Utility) a very simple csv (comma-separated values) parser library for Java.
- HSV-Alpha Color Picker for Android (UI Component) a color picker and a color preference for use in Android applications.
- OkHttp (Utility) OkHttp is an HTTP+HTTP/2 client for Android and Java applications.
- AudioRecordView (Utility) a flexible, efficient library written in Kotlin for drawing real wave forms while recording.
- Dagger (Utility) A fast dependency injector for Android and Java.
- gRPC-Java (Utility) RPC library and framework.
- OpenCensus (Utility) a stats collection and distributed tracing framework.
- RxJava (Utility) RxJava (Reactive Extensions for the JVM) is a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
- JavaX Dependency Injection (Utility) specifies a means for obtaining objects in such a way as to maximize reusability, testability and maintainability compared to traditional approaches such as constructors, factories, and service locators (e.g., JNDI). This process, known as dependency injection, is beneficial to most nontrivial applications.
- Kotlin (Utility) The Kotlin Programming Language
- kotlinx.coroutines (Utility) library support for Kotlin coroutines.
- Myanmar Calendar (Utility) library for Myanmar Calendar & Algorithm.
- joda-time-android (Utility) Joda-Time (Java date and time classes) library with Android specialization
- OkHttp okio Framework (Utility) A modern I/O API for Java to make it much easier to access, store, and process your data.
- Apache Commons (Development Framework) an Apache project focused on all aspects of reusable Java components.
- ODK JavaRosa (Utility) core library that many of the ODK tools are built around.
- Joda Time (Utility) provides a quality replacement for the Java date and time classes.
- Kxml2 (Development Aid) a small XML pull parser, specially designed for constrained environments such as Applets, Personal Java or MIDP devices.
- android-multitouch-controller (Utility) helper to write multitouch applications for Android.
- ODK Collect (Utility) filling out forms.
- OpenStreetMap-Tools for Android (Map) replacement for Android's MapView (v1 API) class.
- Simple Logging Facade for Java (Utility) abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing to plug in the desired logging framework at deployment time.
- XML Pull (Utility) a minimalist API for easy building on top of it SAX, XML pull parsers.
- Timber (Utility) logger with a small, extensible API which provides utility on top of Android's normal Log class.
- Java MP4 Parser (Utility) Java API to read, write and create MP4 files.
Payment Modules:
- None found Java API to read, write and create MP4 files.
Ads & Analytics:
- CrashlyticsⓉ (Mobile Analytics)
- Firebase AnalyticsⓉ (Mobile Analytics)
- Mapbox SDK Telemetry componentⓉ (Mobile Analytics) Telemetry component of the Mapbox SDK for Android (see OSM Wiki). As this is opt-out instead of opt-in, we consider it 'Tracking'.
Download (11.4 M)
Version v1.30.0 (2021-02-23)
Android Versions:
- Target: 10.0
- MinVer: 5.0
Permissions:
- ACCESS_COARSE_LOCATION
- ACCESS_FINE_LOCATION
- ACCESS_NETWORK_STATE
- ACCESS_WIFI_STATE
- CAMERA
- FOREGROUND_SERVICE
- GET_ACCOUNTS
- INTERNET
- MANAGE_ACCOUNTS
- READ_EXTERNAL_STORAGE
- READ_PHONE_STATE
- RECEIVE_BOOT_COMPLETED
- RECORD_AUDIO
- USE_CREDENTIALS
- WAKE_LOCK
- WRITE_EXTERNAL_STORAGE
- BIND_GET_INSTALL_REFERRER_SERVICE
Features:
- None
65 Libraries detected:
Libraries:
- Google Gson (Utility) A Java serialization/deserialization library to convert Java Objects into JSON and back.
- ZXing ('Zebra Crossing') (Utility)
requires 3 permissions: android.permission.WAKE_LOCK, android.permission.VIBRATE, android.permission.CAMERAZXing („zebra crossing“) is an open-source, multi-format 1D/2D barcode image processing library. - Java MP4 Parser (Utility) outdated API to read, write and create MP4 container.
- Android Support v4 (Development Framework) The Android Support Library is not actually a single library, but rather a collection of libraries that can roughly be divided into two groups: compatibility and component libraries. For details, please see Understanding the Android Support Library.
- Arch (Utility) helper for other arch dependencies, including JUnit test rules that can be used with LiveData.
- AppCompat (Utility) support newer Android features on older Android versions.
- Browser (Utility) display webpages in the user's default browser.
- Androidx Core (Utility) a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs.
- Exifinterface (Utility) a library to read and write image file EXIF tags.
- androidx.legacy (Utility) a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs.
- Lifecycle (Utility) perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
- Loader (Utility) library to load data for your UI that survives configuration changes.
- Media (Utility) share media contents and controls with other apps.
- Preference (Utility) a library to build interactive settings screens without needing to interact with device storage or manage the UI.
- Room (Utility) a persistence library that provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
- Sqlite (Utility) library that contains abstract interfaces along with basic implementations which can be used to build your own libraries that access SQLite.
- Transition (UI Component) animates motion in the UI with starting and ending layouts.
- Vectordrawable (UI Component) AndroidX library to render vector graphics.
- WorkManager (Utility) an API that makes it easy to schedule deferrable, asynchronous tasks that must be run reliably .
- BikramSambat (Utility) convert between JavaScript Date object to a BikramSambat object representing date in Bikram Sambat calander.
- Butter Knife (Utility) binds Android views and callbacks to fields and methods.
- Glide (Utility) An image loading and caching library for Android focused on smooth scrolling
- okhttp-digest (Utility) a digest authenticator for okhttp.
- Fasterxml (Utility) an XML parser
- Firebase Data TransportⓃ (Utility) Firebase Data Transport is part of Google’s Firebase SDK.
- FlexboxLayout (Utility) a library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android.
- Google Maps APIⒹⓃ (Map) API to automatically handle access to Google Maps servers, data downloading, map display, and response to map gestures.
- Google Mobile ServicesⒹ (Development Framework) Google Mobile Services in terms of the Android library refers to Google Play Services, a proprietary background service and API package for Android devices which is not part of the Android Open Source Project (AOSP). The library does not contain those services (i.e. it usually requires the Google Framework, often referred to as „GApps“, being installed on the device), but allows an app to communicate with them. Be aware this usually goes along with transferring at least parts of your personal data to the Google network.
- Google Material Design (Utility) library to help with material design guidelines.
- Google API Client LibrariesⓃ (Development Framework) provides functionality common to all Google APIs, e.g. to access the user's Google Calendar, obtain an auth token to access the Google Account, and more.
- Google Core Libraries for Java 6+ (Utility) a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more.
- FirebaseⓃⒹ (Utility)
- RxRelay (Utility) RxJava types that are both an Observable and a Consumer.
- ZXing Android Embedded (Utility) Barcode scanning library for Android, using ZXing for decoding.
- Dexter (Utility) library that simplifies the process of requesting permissions at runtime.
- Mapbox Android SDK (Map) integrating Mapbox into Android apps (for custom online maps).
- Mapbox Maps SDK for Android (Map) a toolset for displaying maps inside of Android applications. Also see OSM Wiki.
- Opencsv (Utility) a very simple csv (comma-separated values) parser library for Java.
- HSV-Alpha Color Picker for Android (UI Component) a color picker and a color preference for use in Android applications.
- OkHttp (Utility) OkHttp is an HTTP+HTTP/2 client for Android and Java applications.
- AudioRecordView (Utility) a flexible, efficient library written in Kotlin for drawing real wave forms while recording.
- Dagger (Utility) A fast dependency injector for Android and Java.
- gRPC-Java (Utility) RPC library and framework.
- OpenCensus (Utility) a stats collection and distributed tracing framework.
- RxJava (Utility) RxJava (Reactive Extensions for the JVM) is a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
- JavaX Dependency Injection (Utility) specifies a means for obtaining objects in such a way as to maximize reusability, testability and maintainability compared to traditional approaches such as constructors, factories, and service locators (e.g., JNDI). This process, known as dependency injection, is beneficial to most nontrivial applications.
- Kotlin (Utility) The Kotlin Programming Language
- kotlinx.coroutines (Utility) library support for Kotlin coroutines.
- Myanmar Calendar (Utility) library for Myanmar Calendar & Algorithm.
- joda-time-android (Utility) Joda-Time (Java date and time classes) library with Android specialization
- OkHttp okio Framework (Utility) A modern I/O API for Java to make it much easier to access, store, and process your data.
- Apache Commons (Development Framework) an Apache project focused on all aspects of reusable Java components.
- ODK JavaRosa (Utility) core library that many of the ODK tools are built around.
- Joda Time (Utility) provides a quality replacement for the Java date and time classes.
- Kxml2 (Development Aid) a small XML pull parser, specially designed for constrained environments such as Applets, Personal Java or MIDP devices.
- android-multitouch-controller (Utility) helper to write multitouch applications for Android.
- ODK Collect (Utility) filling out forms.
- OpenStreetMap-Tools for Android (Map) replacement for Android's MapView (v1 API) class.
- Simple Logging Facade for Java (Utility) abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing to plug in the desired logging framework at deployment time.
- XML Pull (Utility) a minimalist API for easy building on top of it SAX, XML pull parsers.
- Timber (Utility) logger with a small, extensible API which provides utility on top of Android's normal Log class.
- Java MP4 Parser (Utility) Java API to read, write and create MP4 files.
Payment Modules:
- None found Java API to read, write and create MP4 files.
Ads & Analytics:
- CrashlyticsⓉ (Mobile Analytics)
- Firebase AnalyticsⓉ (Mobile Analytics)
- Mapbox SDK Telemetry componentⓉ (Mobile Analytics) Telemetry component of the Mapbox SDK for Android (see OSM Wiki). As this is opt-out instead of opt-in, we consider it 'Tracking'.
Download (11.4 M)