Skip to content

Android SharedPreferences helper code generator for Kotlin.

License

Notifications You must be signed in to change notification settings

romansl/prefero

Repository files navigation

prefero

Android SharedPreferences helper code generator for Kotlin.

Usage:

  1. Declare dependecies:
apply plugin: 'kotlin-kapt'

dependencies {
    compile 'com.github.romansl.prefero:annotations:1.2.1'
    kapt 'com.github.romansl.prefero:generator:1.2.1'
}
  1. Create preferences interface:
@Preferences
interface Foo {
    @DefaultInt(111)
    var someInt: Int

    @DefaultLong(222L)
    var someLong: Long

    @DefaultString("hello")
    var someHello: String

    @Key("replacedKey")
    var someKey: String

    var someNullable: String?
    var someBoolean: Boolean
    var someFloat: Float
}
  1. Use generated class:
    val foo = FooImpl(getSharedPreferences("hello", Context.MODE_PRIVATE))

    val increment = foo.someInt++

    foo.edit {
        someBoolean = true
        someFloat = 10f
        someHello = "hello1"
        someInt = 1234
        someKey = "kkk"
        someLong = 5678L
        someNullable = null
    }