-
Notifications
You must be signed in to change notification settings - Fork 16
Home
Kripton provides for Android platform a simple and uniform way to manage the persistence of Java classes through the use of annotations and interfaces in different flavours:
- as SQLite ORM, implementing DAO pattern
- as data format converter like JSON, XML, (Java) properties, CBOR, YAML, SMILE
- as typed Shared Preference
- as an add-on for Retrofit library to create REST service client.
For the Android platform, all kind of persistence mechanism is supported. For generic Java platform, only data format converter and the Retrofit add-on is available.
Kripton uses the power of annotation processors that allows creating java classes persistence code simply with annotations. There are many other libraries that do this, but Kripton allows to persists java object in different ways with a uniform and coherent set of annotation and mechanism.
Kripton was built to be SIMPLE and FAST. How it is SIMPLE will be shown in this documentation. How it is FAST is showed in Benchmarks, which show that KRIPTON is one (maybe the first) JSON persistence binder for ANDROID!
Performance is gained thanks to annotation processing and Jackson library.
The official supported platform is Android. You can also use Kripton on generic Java environment but only for data format and retrofit features.
Kripton is written in Java. It can also be used with Kotlin.
For the Android platform, you can work both with Java and Kotlin languages:
Setup in Gradle for Java:
apply plugin: 'com.android.application'
android {
...
}
dependencies {
annotationProcessor "com.abubusoft:kripton-processor:7.0.0"
implementation "com.abubusoft:kripton:7.0.0"
...
}
Setup in Gradle for Kotlin:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
...
}
dependencies {
kapt "com.abubusoft:kripton-processor:7.0.0"
implementation "com.abubusoft:kripton-android-library:7.0.0"
...
}
- Introduction
- Goals & Features
- Kotlin
- Immutable or Mutable Pojo
- Annotation Processor Args
- Credits
- Articles
- Benchmarks
- Setup
- Tutorial
- Usage
- Dependencies and inspirations
- Stackoverflow
- Documentation
- SQL logging
- Data source options
- Indices
- SQL Type adapter
- Global SQL Type adapter
- Constraints
- Live data: welcome Architectural components!!
- Paged Live data
- Dynamic parts
- Transactional and batch operations
- Async Transactional and batch operations
- Global transaction
- Support for immutable POJO
- Generate Content provider
- Generate Database schema generation
- Database migration
- BindSqlColumn
- BindContentProvider
- BindContentProviderEntry
- BindContentProviderPath
- BindDao
- BindDaoMany2Many
- BindDataSource
- BindDataSourceOptions
- BindDataSourceUpdateTask
- BindIndex
- BindSqlRelation
- BindSqlAdapter
- BindSqlChildSelect
- BindSqlDelete
- BindSqlDynamicOrderBy
- BindSqlDynamicWhere
- BindSqlDynamicWhereParams
- BindSqlInsert
- BindSqlPageSize
- BindSqlParam
- BindSqlSelect
- BindSqlUpdate
- BindSqlType
- BindSqlTransaction