Popularity
0.6
Stable
Activity
0.0
Stable
6
2
0

Description

A light-weight library which uses annotation processing to generate codes that let you read and write to SharedPreferences file. Read values using just annotations

Programming language: Kotlin
License: Apache License 2.0
Latest version: v1.3.0

JadeSharedPreference alternatives and similar packages

Based on the "Kotlin" category.
Alternatively, view JadeSharedPreference alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of JadeSharedPreference or a related project?

Add another 'Kotlin' Package

README

JadeSharedPreference

Android Arsenal CircleCI

A light weight library which uses annotation processing to generate codes that let you read and write to SharedPreferences file.

  • Eliminate the whole SharedPreference boilerplace codes
  • Write less code to configure JadeSharedPreference
  • Save multiple values to SharedPreferences at onces
  • Read from SharedPreferences using just annotations @Read...)
  • Listen to value changes in real-time
  • Read/Write Preference data anywhere in your app

No one like writing lot of codes just to do a simple task. I mean, who does this:

    val sp: SharedPreference = getSharedPreferences("coconut_head", Context.MODE_PRIVATE)
    val value: String? =sp.getString("key", null)

When you can achieve same thing with less line of codes. Such as this:

    @ReadString("key")
    val value: String?= null

What's new in version 1.3.0

  • Bug fixes
  • Support for Preference file

Usage

class InecBox @SharedPref("key") @Preference constructor(context: Context) {

    val TAG: String = "InecBox"

    @ReadString("ballot")
    var ballotPaper: String? = null


    @ReadPrefString("pref_ballot")
    var fakeBallot: String? = null

    //Setup for SharedPreference file
    private var jsp :JadeSharedPreference =JadeSharedPreference.apply(this, context)

    //Setup for Preference file
    private var jp :JadeSharedPreference =JadeSharedPreference.preference(this, context)

    fun inecBox() {
        jsp.insert("ballot", "Ballot Paper")
    }

    fun readBallot(){
        Log.d(TAG, ballotPaper)
    }

    fun fakeInecBox() {
        jp.insert("pref_ballot", "Fake Ballot Paper")
    }

    fun readFakeBallot(){
        Log.d(TAG, fakeBallot)
    }

}

Check the sample project to see more sample usages.

Configuration

Step 1: Add it in your root build.gradle at the end of repositories:
allprojects {
    repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
Step 2: Add the dependency
    dependencies {
        implementation 'com.github.devmike01.JadeSharedPreference:binder:1.3.0'
        kapt 'com.github.devmike01.JadeSharedPreference:compiler:1.3.0'
    }   

Note: Add apply plugin: 'kotlin-kapt' - if you don't already have it, to your app build.gradle to allow the the processor generates the necessary codes.

License

Copyright 2018 Oladipupo Gbenga

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


*Note that all licence references and agreements mentioned in the JadeSharedPreference README section above are relevant to that project's source code only.