项目作者: Naveentp

项目描述 :
[Android Library] A SharedPreferences helper library to save and fetch the values easily.
高级语言: Kotlin
项目地址: git://github.com/Naveentp/PreferenceHelper.git
创建时间: 2019-03-26T16:58:33Z
项目社区:https://github.com/Naveentp/PreferenceHelper

开源协议:Apache License 2.0

下载


Preference Helper

A SharedPreferences helper library to save and fetch the values easily.

AndroidDev Digest

Use in your project

Add this to your module’s build.gradle

  1. repositories {
  2. jcenter()
  3. }
  4. dependencies {
  5. implementation 'com.naveentp:preferencehelper:0.0.1'
  6. }

Usage Example

  • Initialise the SharedPreferences

    • Default SharedPreferences

      1. PreferenceHelper.defaultPref(this)

      or Lazy loading

      1. private val sharedPref: SharedPreferences by lazy {
      2. PreferenceHelper.customPref(this, "Sample")
      3. }
    • Custom SharedPreferences

      1. PreferenceHelper.customPref(this, "YOUR_SHARED_PREFERENCES_NAME")
  • Save / Fetch values from SharedPreferences

    • Using operator overloading method

      • Save

        1. // To save the value to SharedPreferences
        2. sharedPref["name"] = "Naveen"
      • Fetch

        1. // To fetch the value from SharedPreferences
        2. val userName = sharedPref["name", DEFAULT_VALUE]
    • Using Delegation properties method

      • Initialisation
        1. // Create userName variable that corresponds to sharedPreference "name" key
        2. var name by PreferenceDelegate(sharedPref, "name", DEFAULT_VALUE)
      • Save

        1. //Saves value "Naveen" to sharedPreference with key "name"
        2. name = "Naveen"
      • Fetch

        1. // To fetch the value "Naveen" from SharedPreferences
        2. val userName = name
    • Adding Listeners

      • Individual

        1. var userAge by PreferenceDelegate(sharedPref, "name", 0, object : PreferenceObserver {
        2. override fun <T> onChangePreferenceValue(key: String, value: T) {
        3. print("$key: $value")
        4. }
        5. })
      • Global (Activity level)
        ```kotlin
        class MainActivity : AppCompatActivity(), PreferenceObserver {

        1. //Lazy initialisation of SharedPreferences
        2. private val sharedPref: SharedPreferences by lazy {
        3. PreferenceHelper.customPref(this, "Sample")
        4. }
        5. override fun onCreate(savedInstanceState: Bundle?) {
        6. super.onCreate(savedInstanceState)
        7. setContentView(R.layout.activity_main)
        8. //Pass activity reference handle callbacks all at one place.
        9. var userAge by PreferenceDelegate(sharedPref, "name", 0, this)
        10. }
  1. // Global listener which listens to all the PreferenceDelegates
  2. override fun <T> onChangePreferenceValue(key: String, value: T) {
  3. print("$key: $value")
  4. }
  5. }
  6. ```

Refer MainActivity in Sample project for more samples**

License

Licensed under Apache Licence, Version 2.0. Check the full licence here