From 0eb3c00c133f5effd9816854ac4d82f88fa1b3ab Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Tue, 4 Apr 2023 16:24:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0Realm=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 16 ++++++++++------ .../main/java/com/navinfo/volvo/model/Dog.kt | 8 ++++++++ .../java/com/navinfo/volvo/ui/MainActivity.kt | 9 +++++++++ build.gradle | 6 +++--- datetimepicker/build.gradle | 10 +++++----- settings.gradle | 18 +++++++++--------- 6 files changed, 44 insertions(+), 23 deletions(-) create mode 100644 app/src/main/java/com/navinfo/volvo/model/Dog.kt diff --git a/app/build.gradle b/app/build.gradle index 68e33ec..e953a09 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,6 +7,7 @@ plugins { id 'dagger.hilt.android.plugin' //hilt 依赖注入 id "com.google.protobuf" version "0.8.17" //Proto DataStore 插件 id 'androidx.navigation.safeargs.kotlin'//Safe Args传递数据 + id 'io.realm.kotlin' // id 'com.google.dagger.hilt.android' } @@ -43,11 +44,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '11' freeCompilerArgs += [ "-Xjvm-default=all", ] @@ -61,7 +62,7 @@ android { dependencies { def nav_version = "2.5.3" - implementation 'androidx.core:core-ktx:1.8.0' + implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.5.1' implementation 'com.google.android.material:material:1.7.0' implementation "androidx.compose.material3:material3:1.0.0-alpha04" @@ -121,8 +122,8 @@ dependencies { implementation("com.google.code.gson:gson:2.8.6") //hilt - implementation "com.google.dagger:hilt-android:2.41" - kapt "com.google.dagger:hilt-compiler:2.41" + implementation 'com.google.dagger:hilt-android:2.45' + kapt 'com.google.dagger:hilt-compiler:2.45' // 显示错误提示 https://github.com/nhaarman/supertooltips implementation 'com.nhaarman.supertooltips:library:3.0.0' @@ -152,6 +153,9 @@ dependencies { // 数据存储 Proto DataStore 对象 implementation "androidx.datastore:datastore-core:1.0.0" implementation "com.google.protobuf:protobuf-javalite:3.18.0" + + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4' + implementation 'io.realm.kotlin:library-base:1.6.1' } //Proto DataStore 数据存储插件 diff --git a/app/src/main/java/com/navinfo/volvo/model/Dog.kt b/app/src/main/java/com/navinfo/volvo/model/Dog.kt new file mode 100644 index 0000000..99116fa --- /dev/null +++ b/app/src/main/java/com/navinfo/volvo/model/Dog.kt @@ -0,0 +1,8 @@ +package com.navinfo.volvo.model + +import io.realm.kotlin.types.RealmObject + +class Dog : RealmObject { + var name: String = "" + var age: Int = 0 +} \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/volvo/ui/MainActivity.kt b/app/src/main/java/com/navinfo/volvo/ui/MainActivity.kt index bac72a2..ed14708 100644 --- a/app/src/main/java/com/navinfo/volvo/ui/MainActivity.kt +++ b/app/src/main/java/com/navinfo/volvo/ui/MainActivity.kt @@ -31,8 +31,11 @@ import com.hjq.permissions.Permission import com.hjq.permissions.XXPermissions import com.navinfo.volvo.R import com.navinfo.volvo.databinding.ActivityMainBinding +import com.navinfo.volvo.model.Dog import com.navinfo.volvo.utils.SystemConstant import dagger.hilt.android.AndroidEntryPoint +import io.realm.kotlin.Realm +import io.realm.kotlin.RealmConfiguration import kotlinx.coroutines.launch @@ -66,6 +69,12 @@ class MainActivity : BaseActivity() { // 在SD卡创建项目目录 createRootFolder() setupNavigation() + val config = RealmConfiguration.Builder(schema = setOf(Dog::class)) + .directory(SystemConstant.LogFolder) + .name("Test.realm") + .build() + Log.d("mypath:",config.path) + val realm: Realm = Realm.open(config) } override fun onDenied(permissions: MutableList, never: Boolean) { diff --git a/build.gradle b/build.gradle index 934ef37..58cfed1 100644 --- a/build.gradle +++ b/build.gradle @@ -16,9 +16,9 @@ buildscript { plugins { id 'com.android.application' version '7.1.2' apply false id 'com.android.library' version '7.1.2' apply false - id 'org.jetbrains.kotlin.android' version '1.6.10' apply false - -// id 'com.google.dagger.hilt.android' version "2.44.2" apply false + id 'org.jetbrains.kotlin.android' version '1.7.20' apply false + id 'io.realm.kotlin' version '1.6.1' apply false + id 'com.google.dagger.hilt.android' version "2.44.2" apply false // id 'io.realm.kotlin' version '0.10.0' apply false } allprojects { diff --git a/datetimepicker/build.gradle b/datetimepicker/build.gradle index 16c283e..12d4249 100644 --- a/datetimepicker/build.gradle +++ b/datetimepicker/build.gradle @@ -25,11 +25,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '11' } buildFeatures { viewBinding true @@ -38,8 +38,8 @@ android { dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib:1.6.10" - implementation 'androidx.core:core-ktx:1.6.0' + implementation "org.jetbrains.kotlin:kotlin-stdlib:1.7.20" + implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' testImplementation 'junit:junit:4.13.2' diff --git a/settings.gradle b/settings.gradle index 93e8d78..4d20380 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,27 +1,27 @@ pluginManagement { repositories { - maven { url "https://maven.aliyun.com/repository/google" } - maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } - maven { url 'https://maven.aliyun.com/repository/public' } - maven { url 'https://maven.aliyun.com/repository/jcenter' } - maven { url 'https://jitpack.io' } jcenter() gradlePluginPortal() google() mavenCentral() + maven { url 'https://jitpack.io' } + maven { url "https://maven.aliyun.com/repository/google" } + maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } + maven { url 'https://maven.aliyun.com/repository/public' } + maven { url 'https://maven.aliyun.com/repository/jcenter' } } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { + jcenter() + google() + mavenCentral() + maven { url 'https://jitpack.io' } maven { url "https://maven.aliyun.com/repository/google" } maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/jcenter' } - maven { url 'https://jitpack.io' } - jcenter() - google() - mavenCentral() } } rootProject.name = "NavinfoVolvo"