Forms500mg logoForms500mg
Android SDK

FlexForm Android SDKJetpack Compose, Server-Driven Forms

Add production-ready forms to your Android app in minutes. The FlexForm Android SDK uses Jetpack Compose to render any form natively — with offline support, file uploads, conditional logic, and server-driven updates.

Kotlin & Compose
minSdk 28

Android SDK Features

Native rendering, offline support, and clean event handling

Jetpack Compose UI

Native Compose rendering with Material3. Forms feel fully native — not embedded in a WebView.

Maven Central

Add one Gradle dependency. No manual AAR management, no local file imports, no version gymnastics.

Offline Drafts

Room database persistence keeps form progress safe across app restarts and network outages.

Conditional Logic

Server-defined branching, skip logic, and field visibility rules evaluated at runtime — no logic in app code.

Theme Override

Pass FlexFormTheme to control colors, typography, button styles, and spacing to match your design system.

Event Callbacks

Single onEvent lambda for Submitted, Error, PageChanged, UrlButtonClicked, and Closed — clean and predictable.

Installation & usage

One dependency, one init call, one Composable.

// build.gradle.kts (app module)
dependencies {
    implementation("ai.flexform:flexform-sdk-android:1.0.0-beta")
}

// Application.kt — initialize once at startup
class MyApp : Application() {
    override fun onCreate() {
        super.onCreate()
        FlexFormSDK.init(PlatformContext(this))
    }
}

// In any Composable — render a form
@Composable
fun FormScreen(formId: String) {
    FlexFormView(
        formId = formId,
        config = FlexFormConfig(
            autoSaveDraft = true,
            navigationStyle = NavigationStyle.FloatingIcons,
        ),
        onEvent = { event ->
            when (event) {
                is FlexFormEvent.Submitted -> navigateToThankYou()
                is FlexFormEvent.Error     -> showError(event.message)
                else -> {}
            }
        }
    )
}

Requirements

Android Gradle Plugin8.11.x
Gradle8.13+
JDK17+
Kotlin2.3.x
Compose Multiplatform1.10.x
minSdk28 (Android 9+)
compileSdk36
DistributionMaven Central (AAR)

Android SDK FAQs

Common questions about the FlexForm Android SDK

What is the minimum Android version required?

The FlexForm Android SDK requires minSdk 28 (Android 9.0 Pie or higher), compileSdk 36, Android Gradle Plugin 8.11.x, Gradle 8.13+, Kotlin 2.3.x, and JDK 17.

Does the Android SDK use a WebView?

No. The SDK uses Jetpack Compose to render all form elements natively. There is no WebView — forms are rendered as native Android UI components that match your app's Material3 theme.

How do I handle form submission in my Android app?

The SDK fires a FlexFormEvent.Submitted event via the onEvent lambda when a form is successfully submitted. The event includes the formId and a map of all field responses keyed by element ID.

Can I pre-fill form fields with existing data?

Yes. Pass initialValues: Map<String, Any?> in FlexFormConfig to pre-populate any field by its element ID. This is useful for profile update forms or progressive profiling flows.

How do I save and resume a draft?

Set autoSaveDraft = true in FlexFormConfig and the SDK handles draft persistence automatically using Room database. To resume a specific draft, pass draftId in FlexFormConfig. You can also trigger a manual save with FlexFormController.saveAsDraft().

Is the Android SDK available on Maven Central?

The SDK is currently in beta. Contact hi@flexform.ai to join the beta program and receive Maven Central access credentials.

Add Forms to Your Android App

Native Jetpack Compose form rendering with server-driven updates. No WebView, no app store releases for form changes.