From e5e846c7c749e98f907ca205e9e1e7e3059b4bc3 Mon Sep 17 00:00:00 2001 From: liubei Date: Wed, 15 Jul 2020 16:45:24 +0800 Subject: [PATCH 1/2] sqlcipher lite orm --- .gitignore | 14 ++++++ build.gradle | 29 +++++++++++++ library/build.gradle | 41 ++++++++++++++++++ library/{ => src/main}/AndroidManifest.xml | 2 - .../java}/com/litesuits/orm/LiteOrm.java | 10 ++--- .../com/litesuits/orm/LiteOrmApplication.java | 11 +++++ .../java}/com/litesuits/orm/db/DataBase.java | 3 +- .../com/litesuits/orm/db/DataBaseConfig.java | 0 .../com/litesuits/orm/db/TableManager.java | 6 +-- .../litesuits/orm/db/annotation/Check.java | 0 .../litesuits/orm/db/annotation/Collate.java | 0 .../litesuits/orm/db/annotation/Column.java | 0 .../litesuits/orm/db/annotation/Conflict.java | 0 .../litesuits/orm/db/annotation/Default.java | 0 .../litesuits/orm/db/annotation/Ignore.java | 0 .../orm/db/annotation/MapCollection.java | 0 .../litesuits/orm/db/annotation/Mapping.java | 0 .../litesuits/orm/db/annotation/NotNull.java | 0 .../orm/db/annotation/PrimaryKey.java | 0 .../litesuits/orm/db/annotation/Table.java | 0 .../orm/db/annotation/Temporary.java | 0 .../litesuits/orm/db/annotation/Unique.java | 0 .../orm/db/annotation/UniqueCombine.java | 0 .../com/litesuits/orm/db/assit/Checker.java | 0 .../litesuits/orm/db/assit/CollSpliter.java | 0 .../com/litesuits/orm/db/assit/Encrypt.java | 0 .../com/litesuits/orm/db/assit/Querier.java | 5 ++- .../litesuits/orm/db/assit/QueryBuilder.java | 0 .../litesuits/orm/db/assit/SQLBuilder.java | 0 .../litesuits/orm/db/assit/SQLStatement.java | 8 ++-- .../litesuits/orm/db/assit/SQLiteHelper.java | 17 +++++--- .../litesuits/orm/db/assit/Transaction.java | 3 +- .../litesuits/orm/db/assit/WhereBuilder.java | 0 .../litesuits/orm/db/enums/AssignType.java | 0 .../com/litesuits/orm/db/enums/Relation.java | 0 .../com/litesuits/orm/db/enums/Strategy.java | 0 .../orm/db/impl/CascadeSQLiteImpl.java | 6 +-- .../orm/db/impl/SingleSQLiteImpl.java | 3 +- .../litesuits/orm/db/model/ColumnsValue.java | 0 .../orm/db/model/ConflictAlgorithm.java | 0 .../litesuits/orm/db/model/EntityTable.java | 0 .../com/litesuits/orm/db/model/MapInfo.java | 0 .../litesuits/orm/db/model/MapProperty.java | 0 .../litesuits/orm/db/model/Primarykey.java | 0 .../com/litesuits/orm/db/model/Property.java | 0 .../litesuits/orm/db/model/RelationKey.java | 0 .../litesuits/orm/db/model/SQLiteColumn.java | 0 .../litesuits/orm/db/model/SQLiteTable.java | 0 .../com/litesuits/orm/db/utils/ClassUtil.java | 0 .../com/litesuits/orm/db/utils/DataUtil.java | 0 .../com/litesuits/orm/db/utils/FieldUtil.java | 0 .../com/litesuits/orm/kvdb/DataCache.java | 0 .../com/litesuits/orm/kvdb/FileDataCahe.java | 0 .../java}/com/litesuits/orm/log/OrmLog.java | 0 sample/.settings/org.eclipse.jdt.core.prefs | 4 -- sample/build.gradle | 37 ++++++++++++++++ sample/libs/lite-orm-1.9.1.jar | Bin 124901 -> 0 bytes sample/{ => src/main}/AndroidManifest.xml | 4 +- .../java/com/litesuits/orm/Application.java | 10 +++++ .../java}/com/litesuits/orm/model/Model.java | 0 .../java}/com/litesuits/orm/model/Person.java | 0 .../com/litesuits/orm/model/TestModel.java | 0 .../java}/com/litesuits/orm/model/User.java | 0 .../com/litesuits/orm/model/cascade/Book.java | 0 .../litesuits/orm/model/cascade/Classes.java | 0 .../litesuits/orm/model/cascade/School.java | 0 .../litesuits/orm/model/cascade/Student.java | 0 .../litesuits/orm/model/cascade/Teacher.java | 0 .../litesuits/orm/model/single/Address.java | 0 .../litesuits/orm/model/single/BaseModel.java | 0 .../com/litesuits/orm/model/single/Boss.java | 0 .../litesuits/orm/model/single/Company.java | 0 .../com/litesuits/orm/model/single/Man.java | 0 .../litesuits/orm/model/single/Person.java | 0 .../com/litesuits/orm/model/single/Wife.java | 0 .../litesuits/orm/samples/BaseActivity.java | 0 .../orm/samples/CascadeTestActivity.java | 0 .../orm/samples/LiteOrmInstance.java | 0 .../litesuits/orm/samples/MainActivity.java | 0 .../orm/samples/SingleTestActivity.java | 0 .../com/litesuits/orm/test/SqliteUtils.java | 6 +-- .../com/litesuits/orm/test/TestClassType.java | 0 .../litesuits/orm/test/TestCollection.java | 0 .../com/litesuits/orm/test/TestGeneric.java | 0 .../com/litesuits/orm/test/TestGetClass.java | 0 .../com/litesuits/orm/test/TestInstance.java | 0 .../litesuits/orm/test/TestNewInstance.java | 0 .../com/litesuits/orm/test/TestNext.java | 0 .../com/litesuits/orm/test/TestSpliter.java | 0 .../java}/com/litesuits/orm/test/TestTry.java | 0 .../main}/res/drawable-xxhdpi/ic_launcher.png | Bin .../main}/res/drawable/ic_launcher.png | Bin .../main}/res/drawable/selector_button.xml | 0 .../main}/res/layout/act_list_btn.xml | 0 sample/{ => src/main}/res/layout/act_main.xml | 0 .../{ => src/main}/res/values-zh/strings.xml | 0 sample/{ => src/main}/res/values/colors.xml | 0 sample/{ => src/main}/res/values/dimens.xml | 0 sample/{ => src/main}/res/values/strings.xml | 0 sample/{ => src/main}/res/values/styles.xml | 0 settings.gradle | 2 + 101 files changed, 184 insertions(+), 37 deletions(-) create mode 100644 build.gradle create mode 100644 library/build.gradle rename library/{ => src/main}/AndroidManifest.xml (92%) rename library/src/{ => main/java}/com/litesuits/orm/LiteOrm.java (96%) create mode 100644 library/src/main/java/com/litesuits/orm/LiteOrmApplication.java rename library/src/{ => main/java}/com/litesuits/orm/db/DataBase.java (95%) rename library/src/{ => main/java}/com/litesuits/orm/db/DataBaseConfig.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/TableManager.java (97%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/Check.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/Collate.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/Column.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/Conflict.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/Default.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/Ignore.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/MapCollection.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/Mapping.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/NotNull.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/PrimaryKey.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/Table.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/Temporary.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/Unique.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/annotation/UniqueCombine.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/assit/Checker.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/assit/CollSpliter.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/assit/Encrypt.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/assit/Querier.java (92%) rename library/src/{ => main/java}/com/litesuits/orm/db/assit/QueryBuilder.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/assit/SQLBuilder.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/assit/SQLStatement.java (96%) rename library/src/{ => main/java}/com/litesuits/orm/db/assit/SQLiteHelper.java (58%) rename library/src/{ => main/java}/com/litesuits/orm/db/assit/Transaction.java (92%) rename library/src/{ => main/java}/com/litesuits/orm/db/assit/WhereBuilder.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/enums/AssignType.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/enums/Relation.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/enums/Strategy.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/impl/CascadeSQLiteImpl.java (97%) rename library/src/{ => main/java}/com/litesuits/orm/db/impl/SingleSQLiteImpl.java (96%) rename library/src/{ => main/java}/com/litesuits/orm/db/model/ColumnsValue.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/model/ConflictAlgorithm.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/model/EntityTable.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/model/MapInfo.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/model/MapProperty.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/model/Primarykey.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/model/Property.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/model/RelationKey.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/model/SQLiteColumn.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/model/SQLiteTable.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/utils/ClassUtil.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/utils/DataUtil.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/db/utils/FieldUtil.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/kvdb/DataCache.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/kvdb/FileDataCahe.java (100%) rename library/src/{ => main/java}/com/litesuits/orm/log/OrmLog.java (100%) delete mode 100755 sample/.settings/org.eclipse.jdt.core.prefs create mode 100644 sample/build.gradle delete mode 100644 sample/libs/lite-orm-1.9.1.jar rename sample/{ => src/main}/AndroidManifest.xml (92%) create mode 100644 sample/src/main/java/com/litesuits/orm/Application.java rename sample/src/{ => main/java}/com/litesuits/orm/model/Model.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/Person.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/TestModel.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/User.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/cascade/Book.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/cascade/Classes.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/cascade/School.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/cascade/Student.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/cascade/Teacher.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/single/Address.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/single/BaseModel.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/single/Boss.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/single/Company.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/single/Man.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/single/Person.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/model/single/Wife.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/samples/BaseActivity.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/samples/CascadeTestActivity.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/samples/LiteOrmInstance.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/samples/MainActivity.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/samples/SingleTestActivity.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/test/SqliteUtils.java (98%) rename sample/src/{ => main/java}/com/litesuits/orm/test/TestClassType.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/test/TestCollection.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/test/TestGeneric.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/test/TestGetClass.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/test/TestInstance.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/test/TestNewInstance.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/test/TestNext.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/test/TestSpliter.java (100%) rename sample/src/{ => main/java}/com/litesuits/orm/test/TestTry.java (100%) rename sample/{ => src/main}/res/drawable-xxhdpi/ic_launcher.png (100%) rename sample/{ => src/main}/res/drawable/ic_launcher.png (100%) rename sample/{ => src/main}/res/drawable/selector_button.xml (100%) rename sample/{ => src/main}/res/layout/act_list_btn.xml (100%) rename sample/{ => src/main}/res/layout/act_main.xml (100%) rename sample/{ => src/main}/res/values-zh/strings.xml (100%) rename sample/{ => src/main}/res/values/colors.xml (100%) rename sample/{ => src/main}/res/values/dimens.xml (100%) rename sample/{ => src/main}/res/values/strings.xml (100%) rename sample/{ => src/main}/res/values/styles.xml (100%) create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore index 0ac83b3..f80cb4a 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,17 @@ proguard/ .idea/ .DS_Store + +.gradle + +.idea + +local.properties + +liteorm.iml + +library/library.iml +library/build + +sample/sample.iml +sample/build diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..9aa2e89 --- /dev/null +++ b/build.gradle @@ -0,0 +1,29 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + google() + jcenter() + maven { url "https://jitpack.io" } + maven { url 'https://dl.bintray.com/umsdk/release' } + } + dependencies { + classpath 'com.android.tools.build:gradle:4.0.0' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + google() + jcenter() + maven { url "https://jitpack.io" } + maven { url 'https://dl.bintray.com/umsdk/release' } + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/library/build.gradle b/library/build.gradle new file mode 100644 index 0000000..c697e38 --- /dev/null +++ b/library/build.gradle @@ -0,0 +1,41 @@ +apply plugin: "com.android.library" + +android { + compileSdkVersion rootProject.compileSdkVersion as int + buildToolsVersion rootProject.buildToolsVersion + + defaultConfig { + minSdkVersion rootProject.minSdkVersion as int + targetSdkVersion rootProject.targetSdkVersion as int + versionCode 1 + versionName "1.0" + } + + buildTypes { + debug { + minifyEnabled false + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" + } + + release { + minifyEnabled false + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + android.sourceSets { + main.jniLibs.srcDirs = ["libs/jniLibs"] + } +} + +dependencies { + api fileTree(dir: "libs", include: ["*.jar"]) + + api "net.zetetic:android-database-sqlcipher:4.4.0" + implementation "androidx.sqlite:sqlite:2.0.1" +} \ No newline at end of file diff --git a/library/AndroidManifest.xml b/library/src/main/AndroidManifest.xml similarity index 92% rename from library/AndroidManifest.xml rename to library/src/main/AndroidManifest.xml index 11e050d..f19028d 100644 --- a/library/AndroidManifest.xml +++ b/library/src/main/AndroidManifest.xml @@ -4,8 +4,6 @@ android:versionCode="28" android:versionName="1.9.1"> - - diff --git a/library/src/com/litesuits/orm/LiteOrm.java b/library/src/main/java/com/litesuits/orm/LiteOrm.java similarity index 96% rename from library/src/com/litesuits/orm/LiteOrm.java rename to library/src/main/java/com/litesuits/orm/LiteOrm.java index c99e60f..b713300 100755 --- a/library/src/com/litesuits/orm/LiteOrm.java +++ b/library/src/main/java/com/litesuits/orm/LiteOrm.java @@ -16,13 +16,9 @@ package com.litesuits.orm; import android.content.Context; -import android.database.Cursor; -import android.database.sqlite.SQLiteClosable; -import android.database.sqlite.SQLiteDatabase; import com.litesuits.orm.db.DataBase; import com.litesuits.orm.db.DataBaseConfig; import com.litesuits.orm.db.TableManager; -import com.litesuits.orm.db.annotation.Check; import com.litesuits.orm.db.assit.*; import com.litesuits.orm.db.impl.CascadeSQLiteImpl; import com.litesuits.orm.db.impl.SingleSQLiteImpl; @@ -32,6 +28,10 @@ import com.litesuits.orm.db.utils.FieldUtil; import com.litesuits.orm.log.OrmLog; +import net.sqlcipher.Cursor; +import net.sqlcipher.database.SQLiteClosable; +import net.sqlcipher.database.SQLiteDatabase; + import java.io.File; import java.io.FileFilter; import java.util.*; @@ -332,7 +332,7 @@ public DataBaseConfig getDataBaseConfig() { @Override public SQLiteDatabase openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory) { path = mConfig.context.getDatabasePath(mConfig.dbName).getPath(); - return SQLiteDatabase.openOrCreateDatabase(path, factory); + return SQLiteDatabase.openOrCreateDatabase(path, "pwd", factory); } @Override diff --git a/library/src/main/java/com/litesuits/orm/LiteOrmApplication.java b/library/src/main/java/com/litesuits/orm/LiteOrmApplication.java new file mode 100644 index 0000000..66f2252 --- /dev/null +++ b/library/src/main/java/com/litesuits/orm/LiteOrmApplication.java @@ -0,0 +1,11 @@ +package com.litesuits.orm; + +import android.content.Context; + +import net.sqlcipher.database.SQLiteDatabase; + +public class LiteOrmApplication { + public static void init(Context context){ + SQLiteDatabase.loadLibs(context); + } +} diff --git a/library/src/com/litesuits/orm/db/DataBase.java b/library/src/main/java/com/litesuits/orm/db/DataBase.java similarity index 95% rename from library/src/com/litesuits/orm/db/DataBase.java rename to library/src/main/java/com/litesuits/orm/db/DataBase.java index b324a2e..fdf0eb5 100755 --- a/library/src/com/litesuits/orm/db/DataBase.java +++ b/library/src/main/java/com/litesuits/orm/db/DataBase.java @@ -15,7 +15,6 @@ */ package com.litesuits.orm.db; -import android.database.sqlite.SQLiteDatabase; import com.litesuits.orm.db.assit.QueryBuilder; import com.litesuits.orm.db.assit.WhereBuilder; import com.litesuits.orm.db.assit.SQLStatement; @@ -24,6 +23,8 @@ import com.litesuits.orm.db.model.ConflictAlgorithm; import com.litesuits.orm.db.model.RelationKey; +import net.sqlcipher.database.SQLiteDatabase; + import java.io.File; import java.util.ArrayList; import java.util.Collection; diff --git a/library/src/com/litesuits/orm/db/DataBaseConfig.java b/library/src/main/java/com/litesuits/orm/db/DataBaseConfig.java similarity index 100% rename from library/src/com/litesuits/orm/db/DataBaseConfig.java rename to library/src/main/java/com/litesuits/orm/db/DataBaseConfig.java diff --git a/library/src/com/litesuits/orm/db/TableManager.java b/library/src/main/java/com/litesuits/orm/db/TableManager.java similarity index 97% rename from library/src/com/litesuits/orm/db/TableManager.java rename to library/src/main/java/com/litesuits/orm/db/TableManager.java index 9ac85df..a1ac4b3 100755 --- a/library/src/com/litesuits/orm/db/TableManager.java +++ b/library/src/main/java/com/litesuits/orm/db/TableManager.java @@ -15,9 +15,6 @@ */ package com.litesuits.orm.db; - -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; import com.litesuits.orm.db.annotation.Column; import com.litesuits.orm.db.annotation.Mapping; import com.litesuits.orm.db.annotation.PrimaryKey; @@ -33,6 +30,9 @@ import com.litesuits.orm.db.utils.FieldUtil; import com.litesuits.orm.log.OrmLog; +import net.sqlcipher.Cursor; +import net.sqlcipher.database.SQLiteDatabase; + import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; diff --git a/library/src/com/litesuits/orm/db/annotation/Check.java b/library/src/main/java/com/litesuits/orm/db/annotation/Check.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/Check.java rename to library/src/main/java/com/litesuits/orm/db/annotation/Check.java diff --git a/library/src/com/litesuits/orm/db/annotation/Collate.java b/library/src/main/java/com/litesuits/orm/db/annotation/Collate.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/Collate.java rename to library/src/main/java/com/litesuits/orm/db/annotation/Collate.java diff --git a/library/src/com/litesuits/orm/db/annotation/Column.java b/library/src/main/java/com/litesuits/orm/db/annotation/Column.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/Column.java rename to library/src/main/java/com/litesuits/orm/db/annotation/Column.java diff --git a/library/src/com/litesuits/orm/db/annotation/Conflict.java b/library/src/main/java/com/litesuits/orm/db/annotation/Conflict.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/Conflict.java rename to library/src/main/java/com/litesuits/orm/db/annotation/Conflict.java diff --git a/library/src/com/litesuits/orm/db/annotation/Default.java b/library/src/main/java/com/litesuits/orm/db/annotation/Default.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/Default.java rename to library/src/main/java/com/litesuits/orm/db/annotation/Default.java diff --git a/library/src/com/litesuits/orm/db/annotation/Ignore.java b/library/src/main/java/com/litesuits/orm/db/annotation/Ignore.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/Ignore.java rename to library/src/main/java/com/litesuits/orm/db/annotation/Ignore.java diff --git a/library/src/com/litesuits/orm/db/annotation/MapCollection.java b/library/src/main/java/com/litesuits/orm/db/annotation/MapCollection.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/MapCollection.java rename to library/src/main/java/com/litesuits/orm/db/annotation/MapCollection.java diff --git a/library/src/com/litesuits/orm/db/annotation/Mapping.java b/library/src/main/java/com/litesuits/orm/db/annotation/Mapping.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/Mapping.java rename to library/src/main/java/com/litesuits/orm/db/annotation/Mapping.java diff --git a/library/src/com/litesuits/orm/db/annotation/NotNull.java b/library/src/main/java/com/litesuits/orm/db/annotation/NotNull.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/NotNull.java rename to library/src/main/java/com/litesuits/orm/db/annotation/NotNull.java diff --git a/library/src/com/litesuits/orm/db/annotation/PrimaryKey.java b/library/src/main/java/com/litesuits/orm/db/annotation/PrimaryKey.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/PrimaryKey.java rename to library/src/main/java/com/litesuits/orm/db/annotation/PrimaryKey.java diff --git a/library/src/com/litesuits/orm/db/annotation/Table.java b/library/src/main/java/com/litesuits/orm/db/annotation/Table.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/Table.java rename to library/src/main/java/com/litesuits/orm/db/annotation/Table.java diff --git a/library/src/com/litesuits/orm/db/annotation/Temporary.java b/library/src/main/java/com/litesuits/orm/db/annotation/Temporary.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/Temporary.java rename to library/src/main/java/com/litesuits/orm/db/annotation/Temporary.java diff --git a/library/src/com/litesuits/orm/db/annotation/Unique.java b/library/src/main/java/com/litesuits/orm/db/annotation/Unique.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/Unique.java rename to library/src/main/java/com/litesuits/orm/db/annotation/Unique.java diff --git a/library/src/com/litesuits/orm/db/annotation/UniqueCombine.java b/library/src/main/java/com/litesuits/orm/db/annotation/UniqueCombine.java similarity index 100% rename from library/src/com/litesuits/orm/db/annotation/UniqueCombine.java rename to library/src/main/java/com/litesuits/orm/db/annotation/UniqueCombine.java diff --git a/library/src/com/litesuits/orm/db/assit/Checker.java b/library/src/main/java/com/litesuits/orm/db/assit/Checker.java similarity index 100% rename from library/src/com/litesuits/orm/db/assit/Checker.java rename to library/src/main/java/com/litesuits/orm/db/assit/Checker.java diff --git a/library/src/com/litesuits/orm/db/assit/CollSpliter.java b/library/src/main/java/com/litesuits/orm/db/assit/CollSpliter.java similarity index 100% rename from library/src/com/litesuits/orm/db/assit/CollSpliter.java rename to library/src/main/java/com/litesuits/orm/db/assit/CollSpliter.java diff --git a/library/src/com/litesuits/orm/db/assit/Encrypt.java b/library/src/main/java/com/litesuits/orm/db/assit/Encrypt.java similarity index 100% rename from library/src/com/litesuits/orm/db/assit/Encrypt.java rename to library/src/main/java/com/litesuits/orm/db/assit/Encrypt.java diff --git a/library/src/com/litesuits/orm/db/assit/Querier.java b/library/src/main/java/com/litesuits/orm/db/assit/Querier.java similarity index 92% rename from library/src/com/litesuits/orm/db/assit/Querier.java rename to library/src/main/java/com/litesuits/orm/db/assit/Querier.java index 7e24dc4..7ab5878 100755 --- a/library/src/com/litesuits/orm/db/assit/Querier.java +++ b/library/src/main/java/com/litesuits/orm/db/assit/Querier.java @@ -1,9 +1,10 @@ package com.litesuits.orm.db.assit; -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; import com.litesuits.orm.log.OrmLog; +import net.sqlcipher.Cursor; +import net.sqlcipher.database.SQLiteDatabase; + /** * 辅助查询 * diff --git a/library/src/com/litesuits/orm/db/assit/QueryBuilder.java b/library/src/main/java/com/litesuits/orm/db/assit/QueryBuilder.java similarity index 100% rename from library/src/com/litesuits/orm/db/assit/QueryBuilder.java rename to library/src/main/java/com/litesuits/orm/db/assit/QueryBuilder.java diff --git a/library/src/com/litesuits/orm/db/assit/SQLBuilder.java b/library/src/main/java/com/litesuits/orm/db/assit/SQLBuilder.java similarity index 100% rename from library/src/com/litesuits/orm/db/assit/SQLBuilder.java rename to library/src/main/java/com/litesuits/orm/db/assit/SQLBuilder.java diff --git a/library/src/com/litesuits/orm/db/assit/SQLStatement.java b/library/src/main/java/com/litesuits/orm/db/assit/SQLStatement.java similarity index 96% rename from library/src/com/litesuits/orm/db/assit/SQLStatement.java rename to library/src/main/java/com/litesuits/orm/db/assit/SQLStatement.java index 49eadb3..72b1f36 100755 --- a/library/src/com/litesuits/orm/db/assit/SQLStatement.java +++ b/library/src/main/java/com/litesuits/orm/db/assit/SQLStatement.java @@ -1,10 +1,6 @@ package com.litesuits.orm.db.assit; -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; -import android.database.sqlite.SQLiteStatement; import android.os.Build; -import android.util.Log; import com.litesuits.orm.db.TableManager; import com.litesuits.orm.db.assit.Querier.CursorParser; import com.litesuits.orm.db.model.ColumnsValue; @@ -17,6 +13,10 @@ import com.litesuits.orm.db.utils.FieldUtil; import com.litesuits.orm.log.OrmLog; +import net.sqlcipher.Cursor; +import net.sqlcipher.database.SQLiteDatabase; +import net.sqlcipher.database.SQLiteStatement; + import java.io.IOException; import java.io.Serializable; import java.util.*; diff --git a/library/src/com/litesuits/orm/db/assit/SQLiteHelper.java b/library/src/main/java/com/litesuits/orm/db/assit/SQLiteHelper.java similarity index 58% rename from library/src/com/litesuits/orm/db/assit/SQLiteHelper.java rename to library/src/main/java/com/litesuits/orm/db/assit/SQLiteHelper.java index 37c5c1c..7cf1e8b 100755 --- a/library/src/com/litesuits/orm/db/assit/SQLiteHelper.java +++ b/library/src/main/java/com/litesuits/orm/db/assit/SQLiteHelper.java @@ -1,9 +1,9 @@ package com.litesuits.orm.db.assit; import android.content.Context; -import android.database.sqlite.SQLiteDatabase; -import android.database.sqlite.SQLiteDatabase.CursorFactory; -import android.database.sqlite.SQLiteOpenHelper; + +import net.sqlcipher.database.SQLiteDatabase; +import net.sqlcipher.database.SQLiteOpenHelper; /** * SQLite辅助类 @@ -19,8 +19,8 @@ public static interface OnUpdateListener { private OnUpdateListener onUpdateListener; - public SQLiteHelper(Context context, String name, CursorFactory factory, int version, - OnUpdateListener onUpdateListener) { + public SQLiteHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, + OnUpdateListener onUpdateListener) { super(context, name, factory, version); this.onUpdateListener = onUpdateListener; } @@ -35,4 +35,11 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } } + public synchronized SQLiteDatabase getWritableDatabase() { + return super.getWritableDatabase("pwd"); + } + + public synchronized SQLiteDatabase getReadableDatabase() { + return super.getReadableDatabase("pwd"); + } } \ No newline at end of file diff --git a/library/src/com/litesuits/orm/db/assit/Transaction.java b/library/src/main/java/com/litesuits/orm/db/assit/Transaction.java similarity index 92% rename from library/src/com/litesuits/orm/db/assit/Transaction.java rename to library/src/main/java/com/litesuits/orm/db/assit/Transaction.java index 7d6caf2..35fc28f 100755 --- a/library/src/com/litesuits/orm/db/assit/Transaction.java +++ b/library/src/main/java/com/litesuits/orm/db/assit/Transaction.java @@ -1,8 +1,9 @@ package com.litesuits.orm.db.assit; -import android.database.sqlite.SQLiteDatabase; import com.litesuits.orm.log.OrmLog; +import net.sqlcipher.database.SQLiteDatabase; + /** * 辅助事务 * diff --git a/library/src/com/litesuits/orm/db/assit/WhereBuilder.java b/library/src/main/java/com/litesuits/orm/db/assit/WhereBuilder.java similarity index 100% rename from library/src/com/litesuits/orm/db/assit/WhereBuilder.java rename to library/src/main/java/com/litesuits/orm/db/assit/WhereBuilder.java diff --git a/library/src/com/litesuits/orm/db/enums/AssignType.java b/library/src/main/java/com/litesuits/orm/db/enums/AssignType.java similarity index 100% rename from library/src/com/litesuits/orm/db/enums/AssignType.java rename to library/src/main/java/com/litesuits/orm/db/enums/AssignType.java diff --git a/library/src/com/litesuits/orm/db/enums/Relation.java b/library/src/main/java/com/litesuits/orm/db/enums/Relation.java similarity index 100% rename from library/src/com/litesuits/orm/db/enums/Relation.java rename to library/src/main/java/com/litesuits/orm/db/enums/Relation.java diff --git a/library/src/com/litesuits/orm/db/enums/Strategy.java b/library/src/main/java/com/litesuits/orm/db/enums/Strategy.java similarity index 100% rename from library/src/com/litesuits/orm/db/enums/Strategy.java rename to library/src/main/java/com/litesuits/orm/db/enums/Strategy.java diff --git a/library/src/com/litesuits/orm/db/impl/CascadeSQLiteImpl.java b/library/src/main/java/com/litesuits/orm/db/impl/CascadeSQLiteImpl.java similarity index 97% rename from library/src/com/litesuits/orm/db/impl/CascadeSQLiteImpl.java rename to library/src/main/java/com/litesuits/orm/db/impl/CascadeSQLiteImpl.java index aaa4837..ac5fa64 100755 --- a/library/src/com/litesuits/orm/db/impl/CascadeSQLiteImpl.java +++ b/library/src/main/java/com/litesuits/orm/db/impl/CascadeSQLiteImpl.java @@ -1,7 +1,5 @@ package com.litesuits.orm.db.impl; -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; import com.litesuits.orm.LiteOrm; import com.litesuits.orm.db.DataBaseConfig; import com.litesuits.orm.db.TableManager; @@ -12,7 +10,9 @@ import com.litesuits.orm.db.utils.DataUtil; import com.litesuits.orm.db.utils.FieldUtil; -import java.io.IOException; +import net.sqlcipher.Cursor; +import net.sqlcipher.database.SQLiteDatabase; + import java.lang.reflect.Field; import java.util.*; diff --git a/library/src/com/litesuits/orm/db/impl/SingleSQLiteImpl.java b/library/src/main/java/com/litesuits/orm/db/impl/SingleSQLiteImpl.java similarity index 96% rename from library/src/com/litesuits/orm/db/impl/SingleSQLiteImpl.java rename to library/src/main/java/com/litesuits/orm/db/impl/SingleSQLiteImpl.java index bfc074d..b3feec7 100755 --- a/library/src/com/litesuits/orm/db/impl/SingleSQLiteImpl.java +++ b/library/src/main/java/com/litesuits/orm/db/impl/SingleSQLiteImpl.java @@ -1,6 +1,5 @@ package com.litesuits.orm.db.impl; -import android.database.sqlite.SQLiteDatabase; import com.litesuits.orm.LiteOrm; import com.litesuits.orm.db.DataBaseConfig; import com.litesuits.orm.db.TableManager; @@ -9,6 +8,8 @@ import com.litesuits.orm.db.model.ConflictAlgorithm; import com.litesuits.orm.db.model.EntityTable; +import net.sqlcipher.database.SQLiteDatabase; + import java.util.ArrayList; import java.util.Collection; diff --git a/library/src/com/litesuits/orm/db/model/ColumnsValue.java b/library/src/main/java/com/litesuits/orm/db/model/ColumnsValue.java similarity index 100% rename from library/src/com/litesuits/orm/db/model/ColumnsValue.java rename to library/src/main/java/com/litesuits/orm/db/model/ColumnsValue.java diff --git a/library/src/com/litesuits/orm/db/model/ConflictAlgorithm.java b/library/src/main/java/com/litesuits/orm/db/model/ConflictAlgorithm.java similarity index 100% rename from library/src/com/litesuits/orm/db/model/ConflictAlgorithm.java rename to library/src/main/java/com/litesuits/orm/db/model/ConflictAlgorithm.java diff --git a/library/src/com/litesuits/orm/db/model/EntityTable.java b/library/src/main/java/com/litesuits/orm/db/model/EntityTable.java similarity index 100% rename from library/src/com/litesuits/orm/db/model/EntityTable.java rename to library/src/main/java/com/litesuits/orm/db/model/EntityTable.java diff --git a/library/src/com/litesuits/orm/db/model/MapInfo.java b/library/src/main/java/com/litesuits/orm/db/model/MapInfo.java similarity index 100% rename from library/src/com/litesuits/orm/db/model/MapInfo.java rename to library/src/main/java/com/litesuits/orm/db/model/MapInfo.java diff --git a/library/src/com/litesuits/orm/db/model/MapProperty.java b/library/src/main/java/com/litesuits/orm/db/model/MapProperty.java similarity index 100% rename from library/src/com/litesuits/orm/db/model/MapProperty.java rename to library/src/main/java/com/litesuits/orm/db/model/MapProperty.java diff --git a/library/src/com/litesuits/orm/db/model/Primarykey.java b/library/src/main/java/com/litesuits/orm/db/model/Primarykey.java similarity index 100% rename from library/src/com/litesuits/orm/db/model/Primarykey.java rename to library/src/main/java/com/litesuits/orm/db/model/Primarykey.java diff --git a/library/src/com/litesuits/orm/db/model/Property.java b/library/src/main/java/com/litesuits/orm/db/model/Property.java similarity index 100% rename from library/src/com/litesuits/orm/db/model/Property.java rename to library/src/main/java/com/litesuits/orm/db/model/Property.java diff --git a/library/src/com/litesuits/orm/db/model/RelationKey.java b/library/src/main/java/com/litesuits/orm/db/model/RelationKey.java similarity index 100% rename from library/src/com/litesuits/orm/db/model/RelationKey.java rename to library/src/main/java/com/litesuits/orm/db/model/RelationKey.java diff --git a/library/src/com/litesuits/orm/db/model/SQLiteColumn.java b/library/src/main/java/com/litesuits/orm/db/model/SQLiteColumn.java similarity index 100% rename from library/src/com/litesuits/orm/db/model/SQLiteColumn.java rename to library/src/main/java/com/litesuits/orm/db/model/SQLiteColumn.java diff --git a/library/src/com/litesuits/orm/db/model/SQLiteTable.java b/library/src/main/java/com/litesuits/orm/db/model/SQLiteTable.java similarity index 100% rename from library/src/com/litesuits/orm/db/model/SQLiteTable.java rename to library/src/main/java/com/litesuits/orm/db/model/SQLiteTable.java diff --git a/library/src/com/litesuits/orm/db/utils/ClassUtil.java b/library/src/main/java/com/litesuits/orm/db/utils/ClassUtil.java similarity index 100% rename from library/src/com/litesuits/orm/db/utils/ClassUtil.java rename to library/src/main/java/com/litesuits/orm/db/utils/ClassUtil.java diff --git a/library/src/com/litesuits/orm/db/utils/DataUtil.java b/library/src/main/java/com/litesuits/orm/db/utils/DataUtil.java similarity index 100% rename from library/src/com/litesuits/orm/db/utils/DataUtil.java rename to library/src/main/java/com/litesuits/orm/db/utils/DataUtil.java diff --git a/library/src/com/litesuits/orm/db/utils/FieldUtil.java b/library/src/main/java/com/litesuits/orm/db/utils/FieldUtil.java similarity index 100% rename from library/src/com/litesuits/orm/db/utils/FieldUtil.java rename to library/src/main/java/com/litesuits/orm/db/utils/FieldUtil.java diff --git a/library/src/com/litesuits/orm/kvdb/DataCache.java b/library/src/main/java/com/litesuits/orm/kvdb/DataCache.java similarity index 100% rename from library/src/com/litesuits/orm/kvdb/DataCache.java rename to library/src/main/java/com/litesuits/orm/kvdb/DataCache.java diff --git a/library/src/com/litesuits/orm/kvdb/FileDataCahe.java b/library/src/main/java/com/litesuits/orm/kvdb/FileDataCahe.java similarity index 100% rename from library/src/com/litesuits/orm/kvdb/FileDataCahe.java rename to library/src/main/java/com/litesuits/orm/kvdb/FileDataCahe.java diff --git a/library/src/com/litesuits/orm/log/OrmLog.java b/library/src/main/java/com/litesuits/orm/log/OrmLog.java similarity index 100% rename from library/src/com/litesuits/orm/log/OrmLog.java rename to library/src/main/java/com/litesuits/orm/log/OrmLog.java diff --git a/sample/.settings/org.eclipse.jdt.core.prefs b/sample/.settings/org.eclipse.jdt.core.prefs deleted file mode 100755 index 48ab4c6..0000000 --- a/sample/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/sample/build.gradle b/sample/build.gradle new file mode 100644 index 0000000..ca56081 --- /dev/null +++ b/sample/build.gradle @@ -0,0 +1,37 @@ +apply plugin: "com.android.application" + +android { + compileSdkVersion rootProject.compileSdkVersion as int + buildToolsVersion rootProject.buildToolsVersion + + defaultConfig { + applicationId "com.litesuits.orm.samples" + minSdkVersion rootProject.minSdkVersion as int + targetSdkVersion rootProject.targetSdkVersion as int + versionCode rootProject.versionCode as int + versionName rootProject.versionName + } + + buildTypes { + debug { + minifyEnabled false + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", "proguard-fresco.pro" + } + + release { + minifyEnabled true + proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", "proguard-fresco.pro" + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + +} + +dependencies { + implementation fileTree(dir: "libs", include: ["*.jar"]) + implementation project(path: ":library") +} diff --git a/sample/libs/lite-orm-1.9.1.jar b/sample/libs/lite-orm-1.9.1.jar deleted file mode 100644 index a79a3df86e2bba4ac071e67161a8b14cbb4b48b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124901 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 P@Xr~rgv#|}DzN_pkcqP5 diff --git a/sample/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml similarity index 92% rename from sample/AndroidManifest.xml rename to sample/src/main/AndroidManifest.xml index b3b1ce6..174ea20 100755 --- a/sample/AndroidManifest.xml +++ b/sample/src/main/AndroidManifest.xml @@ -4,9 +4,6 @@ android:versionCode="1" android:versionName="1.0"> - - @@ -14,6 +11,7 @@ android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" + android:name="com.litesuits.orm.Application" android:theme="@style/AppTheme"> Date: Fri, 7 Aug 2020 10:04:52 +0800 Subject: [PATCH 2/2] update --- library/build.gradle | 2 +- .../main/java/com/litesuits/orm/LiteOrmApplication.java | 8 +++++++- .../java/com/litesuits/orm/db/assit/SQLiteHelper.java | 6 ++++-- sample/src/main/java/com/litesuits/orm/Application.java | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/library/build.gradle b/library/build.gradle index c697e38..f9d57ce 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -37,5 +37,5 @@ dependencies { api fileTree(dir: "libs", include: ["*.jar"]) api "net.zetetic:android-database-sqlcipher:4.4.0" - implementation "androidx.sqlite:sqlite:2.0.1" + implementation "androidx.sqlite:sqlite:2.1.0" } \ No newline at end of file diff --git a/library/src/main/java/com/litesuits/orm/LiteOrmApplication.java b/library/src/main/java/com/litesuits/orm/LiteOrmApplication.java index 66f2252..c7dec80 100644 --- a/library/src/main/java/com/litesuits/orm/LiteOrmApplication.java +++ b/library/src/main/java/com/litesuits/orm/LiteOrmApplication.java @@ -5,7 +5,13 @@ import net.sqlcipher.database.SQLiteDatabase; public class LiteOrmApplication { - public static void init(Context context){ + private static String mPwd; + public static void init(Context context, String pwd){ SQLiteDatabase.loadLibs(context); + mPwd = pwd; + } + + public static String getPwd() { + return mPwd; } } diff --git a/library/src/main/java/com/litesuits/orm/db/assit/SQLiteHelper.java b/library/src/main/java/com/litesuits/orm/db/assit/SQLiteHelper.java index 7cf1e8b..c07c267 100755 --- a/library/src/main/java/com/litesuits/orm/db/assit/SQLiteHelper.java +++ b/library/src/main/java/com/litesuits/orm/db/assit/SQLiteHelper.java @@ -2,6 +2,8 @@ import android.content.Context; +import com.litesuits.orm.LiteOrmApplication; + import net.sqlcipher.database.SQLiteDatabase; import net.sqlcipher.database.SQLiteOpenHelper; @@ -36,10 +38,10 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } public synchronized SQLiteDatabase getWritableDatabase() { - return super.getWritableDatabase("pwd"); + return super.getWritableDatabase(LiteOrmApplication.getPwd()); } public synchronized SQLiteDatabase getReadableDatabase() { - return super.getReadableDatabase("pwd"); + return super.getReadableDatabase(LiteOrmApplication.getPwd()); } } \ No newline at end of file diff --git a/sample/src/main/java/com/litesuits/orm/Application.java b/sample/src/main/java/com/litesuits/orm/Application.java index 0f715bf..487f4c5 100644 --- a/sample/src/main/java/com/litesuits/orm/Application.java +++ b/sample/src/main/java/com/litesuits/orm/Application.java @@ -5,6 +5,6 @@ public class Application extends android.app.Application { public void onCreate() { super.onCreate(); - LiteOrmApplication.init(this); + LiteOrmApplication.init(this, "pwd"); } }