Skip to content

Airsaid/kmp-toolkit

Repository files navigation

kmp-toolkit

中文说明

Maven Central CI License Kotlin

A Kotlin Multiplatform toolkit for common app and device capabilities on Android and iOS.

Features

  • App lifecycle monitoring.
  • App and device information.
  • Clipboard read/write and observation.
  • Network state monitoring.
  • Keyboard visibility monitoring.
  • Haptic feedback.
  • Sensor observation.
  • App navigation helpers for settings, app permissions, content, URLs, email, dial, SMS, and store pages.
  • System share sheet helpers.
  • File picking, directory picking, file save helpers, and image gallery saving.

Installation

Add the dependency in commonMain:

kotlin {
  sourceSets {
    commonMain.dependencies {
      implementation("com.airsaid:toolkit:$version")
    }
  }
}

Make sure Maven Central is available:

repositories {
  mavenCentral()
}

Initialization

Android apps must initialize the toolkit before using platform-backed APIs. iOS does not need an initialization call.

class DemoApp : Application() {
  override fun onCreate() {
    super.onCreate()
    Toolkit.initialize(applicationContext)
  }
}

Quick Start

val appInfo = Toolkit.appInfo()
println(appInfo.versionName)

val device = Toolkit.deviceInfo()
println(device.systemVersion)

val networkMonitor = Toolkit.network()
scope.launch {
  println(networkMonitor.getCurrentNetworkStatus().isConnected)
}

val clipboard = Toolkit.clipboard()
scope.launch {
  clipboard.setText("hello")
}

val haptics = Toolkit.haptics()
haptics.perform(HapticFeedbackType.SUCCESS)

Detailed usage guide: toolkit/README.md

Android Permissions

The Android artifact declares the permissions needed by toolkit features:

  • ACCESS_NETWORK_STATE

Clipboard, content opening, and share helpers use a FileProvider authority based on the consuming app id: ${applicationId}.toolkit-clipboard.

Platforms

  • Android: minSdk 24, compileSdk 36, JVM target 17
  • iOS: iosArm64, iosX64, iosSimulatorArm64
  • Kotlin: 2.2.21

Change Log and Publishing

License

Apache-2.0. See LICENSE.

About

🧰 A Kotlin Multiplatform toolkit for common app and device capabilities on Android and iOS.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages