Android App Development

Kotlin apps built for the real, fragmented world

Kotlin and Jetpack Compose applications that run on flagship phones, rugged field devices and five-year-old tablets alike — with offline storage, background location, Bluetooth and enterprise distribution through managed Google Play or MDM.

Kotlin
100% of new code
API 26+
typical minimum SDK
Rugged
Zebra · Samsung · Panasonic tested
InspectionViewModel.ktKotlin
1@HiltViewModel
2class InspectionViewModel @Inject constructor(
3 private val repo: InspectionRepository,
4 private val location: LocationClient,
5) : ViewModel() {
6
7 val uiState: StateFlow<InspectionUiState> =
8 combine(repo.pending(), location.updates()) { items, fix ->
9 InspectionUiState(items = items, position = fix)
10 }.stateIn(viewModelScope, SharingStarted.WhileSubscribed(5_000),
11 InspectionUiState.Loading)
12
13 fun submit(form: InspectionForm) = viewModelScope.launch {
14 repo.save(form) // Room, works offline
15 SyncWorker.enqueue(workManager) // uploads when online
16 }
17}

Representative Android code from our projects

01Why Android

What Android does better than the alternatives

01

Jetpack Compose UI

Declarative UI with Material 3, adaptive layouts for foldables and tablets, and Compose previews that cut design iteration time.

02

Hardware and peripherals

Direct access to Bluetooth LE, NFC, USB serial, barcode scanners and external GNSS receivers — critical for field and industrial apps.

03

Robust background work

WorkManager, foreground services and precise location on modern Android — implemented to survive Doze, battery optimisers and OEM quirks.

04

Any distribution model

Google Play, managed Play for enterprises, private APK hosting and MDM (Intune, SOTI, Knox) — we have shipped through each.

Choose Android when

  • Your users carry Android devices — consumer, enterprise-issued or rugged
  • You need background services, Bluetooth, NFC, USB or scanner integrations
  • Devices are distributed through managed Google Play, EMM/MDM or side-loaded APKs
  • Older OS versions and low-end hardware must be supported reliably

Not sure it fits? Compare with the alternatives below or ask us — recommendations are part of every consultation.

Android vs. alternatives

02What we build with it

Android in production

Field inspection & asset apps

Offline forms, photos, signatures and GPS traces synced to ArcGIS, PostGIS or your ERP.

Rugged device workflows

Zebra, Honeywell and Samsung rugged builds with scanner intents, kiosk mode and MDM enrolment.

Consumer apps

High-volume Play Store apps with in-app updates, Play Billing and Firebase analytics.

Maps and tracking

Google Maps, Mapbox and ArcGIS Maps SDK for Kotlin with offline tiles and geofencing.

IoT and BLE companions

Sensor pairing, firmware updates and telemetry dashboards for connected hardware.

Kiosk and single-purpose devices

Locked-task apps for tablets in vehicles, counters and control rooms.

03How we work with Android

6 ways we deliver on Android

From greenfield builds to rescues and migrations — each engagement is scoped, estimated and delivered by engineers who work in Android daily.

01

Architecture & greenfield builds

Single-activity Compose apps with MVVM/MVI, Hilt dependency injection, Kotlin coroutines and Flow — structured so features can be built and tested independently.

  • Jetpack Compose
  • Hilt
  • Coroutines
  • Navigation

02

Offline storage & sync

Room or SQLDelight local databases, conflict-aware sync to REST/GraphQL or ArcGIS feature services, and WorkManager pipelines that finish uploads after the app is killed.

  • Room
  • SQLDelight
  • WorkManager
  • DataStore

03

Mapping & location

Google Maps SDK, Mapbox Maps SDK and ArcGIS Maps SDK for Kotlin — custom layers, clustering, offline map areas, fused-location tracking and external GNSS support.

  • Google Maps
  • Mapbox
  • ArcGIS Maps SDK
  • Fused Location

04

Peripherals & rugged devices

Bluetooth LE, NFC, USB serial and vendor SDKs (Zebra DataWedge, Honeywell) with kiosk/lock-task mode and enterprise device policies.

  • BLE
  • NFC
  • DataWedge
  • Device Policy

05

Java / XML modernisation

Migrating legacy Java and XML-layout apps to Kotlin and Compose screen by screen, updating target SDK levels and fixing Play policy blockers along the way.

  • Kotlin
  • Compose
  • Gradle KTS

06

CI/CD & Play release

Gradle build variants, GitHub Actions or Bitrise pipelines, Play App Signing, internal/closed/open testing tracks, staged rollouts and Crashlytics triage.

  • GitHub Actions
  • Play Console
  • Firebase
  • Fastlane

04Where it sits

Android in a complete stack

No technology ships alone. This is the reference architecture we start from on Android projects — the highlighted layer is where Android lives; the rest is chosen to fit your data, hosting and team.

Ecosystem we use daily

  • Kotlin
  • Jetpack Compose
  • Coroutines
  • Flow
  • Hilt
  • Room
  • SQLDelight
  • WorkManager
  • CameraX
  • Google Maps SDK
  • Mapbox
  • ArcGIS Maps SDK
  • Firebase
  • Play Console
  • Gradle
  • JUnit / Espresso

Reference architectureAndroid layer

  1. 01 · Presentation
    • Jetpack Compose
    • Material 3
    • Adaptive layouts
  2. 02 · App logic
    • ViewModel + Flow
    • Hilt DI
    • Coroutines
  3. 03 · Platform services
    • Fused Location
    • BLE / NFC
    • WorkManager
    • Camera X
  4. 04 · Data
    • Room / SQLDelight
    • DataStore
    • Encrypted prefs
  5. 05 · Backend
    • REST / GraphQL
    • ArcGIS services
    • FCM push

05Honest comparison

Android or something else?

Android vs Flutter

Choose native Android when peripherals, background services or vendor SDKs dominate; choose Flutter when the same custom UI must ship on iOS too with one team.

Android vs React Native

Choose native Android for rugged/enterprise devices and hardware integration; choose React Native for content-driven apps built by a JavaScript team.

Still undecided? The mobile technology guide walks through when we recommend each option.

All mobile technologies

06FAQ

Android questions

Looking for the full service? Android work is delivered under our Mobile App Development practice.

Usually Android 8 (API 26) and up, which covers virtually all active devices — we go lower when a client's device fleet requires it.

Start a project

Have a project in mind? Let's build it.

Share your requirement and get an obligation-free consultation, a technology recommendation, and a quote within 48 business hours.

Chat on WhatsApp