Mancj

Additional

Language
Kotlin
Version
N/A
Created
Oct 28, 2018
Updated
Jan 14, 2019 (Retired)
Owner
Mansour (mancj)
Contributor
Mansour (mancj)
1
Activity
Badge
Generate
Download
Source code

KPreference ⚙️

Edit SharedPreferences as easy as possible!????????

No need to interact with some preference wrappers or override a setters, simply declare the variables right in your repository or other classes!!!

The only thing to do is to implement the PreferenceHolder interface and override the SharedPreferences

class ServiceRepository @Inject constructor(
    override val preferences: SharedPreferences /* override this */
) : PreferenceHolder { /* implement this interface */
   
   // all preferences will be saved to the `preferences` object 
   val isFirstLaunch: Boolean by BooleanPreference(false) // false - default value
  
   val userToken: String by StringPreference("default value")
   
   //or even easier, without specifying the type
    val someIntPreference by IntPreference(5)
    
}

Add library to your project.

dependencies {
    ...
    implementation "com.mancj:kpreference:$latestVersion"
}

????????????