Android 数据处理资源总汇

数据格式

序列化 Parcelable


Parcelable AutoValue

使用 Google AutoValue 自动生成代码

Dependencies

dependencies {
  provided 'com.google.auto.value:auto-value:1.2'
  apt 'com.google.auto.value:auto-value:1.2'
  apt 'com.ryanharter.auto.value:auto-value-parcel:0.2.1'
}

Sample

@AutoValue
public abstract class Story implements Parcelable{
  public abstract int id();
  public abstract String title();
  public static Story create(int id, String title){
    new AutoValue_Story(id,title);
  }
}

Android 状态保存

  • android-state

    public class MainActivity extends Activity {
    
        @State
        public int mValue;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            StateSaver.restoreInstanceState(this, savedInstanceState);
        }
    
        @Override
        protected void onSaveInstanceState(Bundle outState) {
            super.onSaveInstanceState(outState);
            StateSaver.saveInstanceState(this, outState);
        }
    }

笔记


Sqlite 批量处理

Tutorial

笔记好滴博文

常用的SQL语句

DROP TABLE IF EXISTS t_student
CREATE TALBE IF NOT EXISTS t_student (id iteger primary key autoincrement, name text, age integer, score real );
INSERT INTO t_student (name,age) values ('jack',22)
update t_student set name='jack' ,id =1 
select * from t_student where score >= 60 order by score asc, age asc;
limit 分页查询
limit 0,5
limit 5,5
约束
not null, unique, default
外键—— 
create table t_student (id integer primary key autoincrement,name text, class_id integer,
constraint fk_t_student_class_id_t_class_id foreign key (class_id) references t_class(id)
)

Awesome Repositories

Repository Description
ActiveAndroid Active record style SQLite persistence for Android.
Android-sqlite-asset-helper An Android helper class to manage database creation and version management using an application’s raw asset files.
Android-lite-orm A fast, small, powerful ORM framework for Android.
Android-database-sqlcipher Android SQLite API based on SQLCipher.
Android Storage Create, read, delete, append, encrypt files and more, on internal or external disk spaces with a really simple API.
Conceal Conceal provides easy Android APIs for performing fast encryption and authentication of data.
Couchbase-lite-android Lightweight, embedded, syncable NoSQL database engine for Android.
ConserveORM A library for storing your Java/Scala/Kotlin objects in a database.
DBFlow A blazing fast, powerful, and very simple ORM android database library that writes database code for you.
EncryptedPreferences AES-256 encrypted SharedPreferences for Android.
GreenDao greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases.
Hawk Secure, simple key-value storage for Android.
Kotpref Android SharedPreferences delegation library for Kotlin.
LitePal An Android library that makes developers use SQLite database extremely easy.
ObjectBox ObjectBox is a superfast mobile database for objects.
Ormlite-android ORMLite Android functionality used in conjunction with ormlite-core.
Paper Paper is a fast NoSQL-like storage for Java/Kotlin objects on Android with automatic schema migration support.
PreferenceRoom Manage your android project’s SharedPreferences more efficiently.
PersistentCookieJar A persistent CookieJar implementation for OkHttp 3 based on SharedPreferences.
Realm Realm is a mobile database: a replacement for SQLite & ORMs.
Room Persistence The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
Requery Modern SQL based query & persistence for Java / Kotlin / Android.
Rx-preferences Reactive SharedPreferences for Android.
Rxkprefs A small, Rx-powered shared preferences library for Kotlin.
Store Android Library for Async Data Loading and Caching.
Storio Reactive API for SQLiteDatabase and ContentResolver.
Sugar Insanely easy way to work with Android Database.
Squidb SquiDB is a SQLite database library for Android and iOS.
Sqlite-android Android SQLite support library.
Secured-Preference-Store A cryptography library and a SharedPreferences wrapper for Android that encrypts the content with 256 bit AES encryption. The Encryption key is securely stored in device’s KeyStore.
Tray A SharedPreferences replacement for Android with multiprocess support.
## No Sql
- **RxPaper Like below Paper **
- Rx-preferences Reactive SharedPreferences for Android http://f2prateek.com/2015/10/05/rx-preferences/
- **Leveldb **is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
- Paper save/restore Java objects by using efficient Kryo serialization and handling data structure changes automatically.
- Iron Fast and easy to use NoSQL data storage

轻量

轻量对原生方法的封装(Origin API Extension)


Improve SQLiteOpenHelper and ContentResolver

Square 出品

Qit

  • Storio Beautiful API for SQLiteDatabase and ContentResolver
  • Android InstanceIcepick Android Instance State made easy It works for Activities, Fragments or any object that needs to serialize its state on a Bundle

Tools(工具)

优化


问题处理

Sqlite3