All Projects → aaaamirabbas → reactor

aaaamirabbas / reactor

Licence: MIT license
Reactor is key value database and is a great alternative to Shared Preferences.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to reactor

PowerPreference
💾 A Powerful library to control and simplify the usage of shared preference in Android.
Stars: ✭ 95 (+156.76%)
Mutual labels:  sharedpreferences, shared-preferences
CipherSharedPrefs
Library implements encrypion layer for SharedPreferences. Also adds some additional features
Stars: ✭ 15 (-59.46%)
Mutual labels:  sharedpreferences
Android Prefs
Android preferences for WINNERS!
Stars: ✭ 183 (+394.59%)
Mutual labels:  sharedpreferences
Prefser
Wrapper for Android SharedPreferences with object serialization and RxJava Observables
Stars: ✭ 228 (+516.22%)
Mutual labels:  sharedpreferences
Typedpreferences
Preference wrappers for primitive types for Android
Stars: ✭ 191 (+416.22%)
Mutual labels:  sharedpreferences
Gendalf
Android annotations processor for Shared Preferences
Stars: ✭ 38 (+2.7%)
Mutual labels:  shared-preferences
Kau
An extensive collection of Kotlin Android Utils
Stars: ✭ 182 (+391.89%)
Mutual labels:  sharedpreferences
MTextField
A new Material Design text field that comes in a box, based on [Google Material Design guidelines]
Stars: ✭ 32 (-13.51%)
Mutual labels:  androidlibrary
iOSUtilitiesSource
IOS Utilities Library for Swift
Stars: ✭ 46 (+24.32%)
Mutual labels:  shared-preferences
Aptpreferences
基于apt实现的Android快速持久化框架:AptPreferences
Stars: ✭ 227 (+513.51%)
Mutual labels:  sharedpreferences
Armadillo
A shared preference implementation for confidential data in Android. Per default uses AES-GCM, BCrypt and HKDF as cryptographic primitives. Uses the concept of device fingerprinting combined with optional user provided passwords and strong password hashes.
Stars: ✭ 226 (+510.81%)
Mutual labels:  sharedpreferences
Tray
a SharedPreferences replacement for Android with multiprocess support
Stars: ✭ 2,314 (+6154.05%)
Mutual labels:  sharedpreferences
Awesome-Android-Persistence
A curated list of awesome android persistence libraries about SQLite, ORM, Mobile Database, SharedPreferences, etc.
Stars: ✭ 69 (+86.49%)
Mutual labels:  sharedpreferences
Frideos flutter
An all-in-one Fllutter package for state management, reactive objects, animations, effects, timed widgets etc.
Stars: ✭ 187 (+405.41%)
Mutual labels:  sharedpreferences
fit
easy storage Object on SharedPreferences
Stars: ✭ 53 (+43.24%)
Mutual labels:  sharedpreferences
Oksharedprefs
通过注解生成SharedPreferences包装类,解决跨进程数据访问不同步的问题。
Stars: ✭ 183 (+394.59%)
Mutual labels:  sharedpreferences
Serialize
🍒 Android 简单高性能读写本地数据, 直接存储对象/基础类型
Stars: ✭ 181 (+389.19%)
Mutual labels:  sharedpreferences
doubleClick
A lib To handle double click on android View's components.
Stars: ✭ 47 (+27.03%)
Mutual labels:  androidlibrary
Krate
A SharedPreferences wrapper powered by Kotlin delegates
Stars: ✭ 213 (+475.68%)
Mutual labels:  sharedpreferences
Android-SharedPreferences-Helper
This Shared Preferences Helper library (Library size = ~15kb only) Simplifies usage of the default Android SharedPreferences Class. The developer can do in a few lines of code which otherwise would have required several. Simple to understand as compared to the default Shared Preferences class and easy to use. Can be used by simply adding the dep…
Stars: ✭ 15 (-59.46%)
Mutual labels:  sharedpreferences
Reactor

License API

Reactor is a fast and secure key-value library for Android, and has an embedded database based on the JSON structure and is a great alternative to Shared Preferences.

Features + Road map
First Edition 1.x.x
  • Save and restore a variety of objects (serialization and deserialization)
  • Symmetric encryption of objects (signed by target application at runtime + Hardware_ID)
  • Very high performance‍
  • Very low library size (No need for other libraries)
  • Supported and tested in API 15 and above
  • Minimal and easy to use :)
Second Edition 2.x.x
  • Save and restore all temporary object pool at runtime in RAM
  • Add a data branch (branches can be independent of the main branch)
  • Imports safe data from Shared Preferences to Reactor
  • ‍‍Change the underlying AES password generation
  • Change the storage infrastructure
  • ‍‍‍Add concurrency + thread-safe functionality

Donate BTC: 1HPZyUP9EJZi2S87QrvCDrE47qRV4i5Fze

Donate ETH or USDT: 0x4a4b0A26Eb31e9152653E4C08bCF10f04a0A02a9

Getting Started :

Add to your root build.gradle :Ï

allprojects {
  repositories {
      ...
      maven { url 'https://jitpack.io' }
    }
  }

Add the dependency :

dependencies {
    implementation 'com.github.aaaamirabbas:reactor:1.5.6'
}
Simple API (default) :

In Kotlin :

val reactor = Reactor(context)
val reactor = Reactor(context, false) // disable encryption

-----------------------------------------------------------

reactor.put("firstName", "abbas")
reactor.put("lastName", null)
reactor.put("age", 23)
reactor.put("customDataClass", SampleData())

-----------------------------------------------------------

val firstName = reactor.get<String>("firstName")
val lastName : String? = reactor.get("lastName")
val isDay = reactor.get<Boolean>("isDay", false)
val customDataClass = reactor.get("customDataClass")

-----------------------------------------------------------

reactor.remove<Int>("year", "week")
reactor.eraseAllData()

In Java :

Reactor reactor = new Reactor(getContext());
Reactor reactor = new Reactor(getContext(), false); // disable encryption

-----------------------------------------------------------

reactor.put("firstName", "abbas");
reactor.put("lastName", null);
reactor.put("age", 23);
reactor.put("customDataClass", new SampleData());

-----------------------------------------------------------

String firstName = reactor.get("firstName", "abbas");
String lastName = reactor.get("lastName", null);
Integer age = reactor.get("age", 26);
SampleData customDataClass = reactor.get("array");

-----------------------------------------------------------

reactor.remove("age", 0);
reactor.eraseAllData();
Custom data class Sample :
// definition
data class SampleData(
    val id: Int = 24,
    val name: String = "abbas"
) : ReactorContract

-----------------------------------------------------------

// save, restore, remove
reactor.put("simpleData", SampleData())
reactor.get<SampleData>("simpleData") // return null if is not found
reactor.remove<SampleData>("simpleData")
FAQ :
Need more help?
How to store and restore the custom class ?
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].