KAU

An extensive collection of Kotlin Android Utils

View the Project on GitHub

KAU

An extensive collection of Kotlin Android Utils

This library contains small helper functions used throughout almost all of my other projects. The goal is to make common interactions executable in a single line.

Get it on Google Play

Changelog Migration


KAU is available on JitPack

Build Status Crowdin Awesome Kotlin Badge ZenHub GitHub license

To apply, add the following to your root build.gradle:

allprojects {
    repositories {
        ...
        jcenter()
        maven { url "https://jitpack.io" }
        google()
    }
}

(If you are using gradle < 4.0, use maven { url "https://maven.google.com" } instead of google())

And add the following dependencies (You can use a specific version, commit, or -SNAPSHOT):

Note that only core is required if you want the basic features. Note that if you use any particular submodule, it will automatically include all of its necessary dependencies.

dependencies {
    //All submodules extend this
    implementation "ca.allanwang.kau:core:$KAU"
    //All submodules with extensive ui extend this
    implementation "ca.allanwang.kau:core-ui:$KAU"
    
    implementation "ca.allanwang.kau:about:$KAU"
    implementation "ca.allanwang.kau:colorpicker:$KAU"
    implementation "ca.allanwang.kau:kpref-activity:$KAU"
    implementation "ca.allanwang.kau:mediapicker:$KAU"
    implementation "ca.allanwang.kau:searchview:$KAU"
}

// optional buildscript plugin (see below)
buildscript {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }

    dependencies {
        ...
        classpath "ca.allanwang:kau:${KAU}"
    }
}

(If you are using gradle < 4.0, use compile instead of implementation)


Submodules

Linked to their respective docs.
Included dependencies are only those with exposed APIs; see new dependency configurations.
Implemented external dependencies are wrapped in parentheses. All KAU submodule dependencies are implemented, with the exception of core in core-ui. This means that you’ll need to explicitly include each submodule you’d like to use, even if another declared submodule depends on it.

Core

Core UI

About

Adapter

Color Picker

KPref Activity

Media Picker

SearchView

Gradle Plugin


Showcase

About Activity Gif Ink Indicator Gif Color Picker Gif Color Picker Custom Gif KPref Items Gif SearchView Gif Swipe Gif

Proguard/MultiDex

Given that the core module contains a lot of extension functions, you may run into a dex error (over 64k methods)

To resolve that, add multiDexEnabled true under your app.gradle > android > defaultConfig

Likewise, it is highly recommended to use proguard to clean up your project upon release. All KAU components support proguard out of the box. Some may have extra requirements for certain features, which will be detailed in their respective README.

Translations

KAU depends on translations crowdsourced by the general public. If you would like to contribute, please visit here

Special thanks to the following awesome people for translating significant portions of KAU!

Language Contributors
Chinese (Simplified)  
French Vincent KulakJean-Philippe Gravel
Galician Xesús M. Mosquera
German Bushido1992Marcel Soehnchen3LD0mi HA
Indonesian M. Angga Ariska
Italian Bonnee
Korean 잇스테이크
Norwegian  
Polish  
Portuguese TheusKhan
Spanish Jahir FiquitivaNefi Salazar
Thai  
Turkish  
Vietnamese Alienz

The full activity stream for the translations can be found here