From 56c5badcf04b80aa133d7a62bb34c7bd551adb5f Mon Sep 17 00:00:00 2001 From: xiaoyan <xiaoyan159@163.com> Date: Mon, 3 Apr 2023 10:26:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0Realm=E4=BE=9D?= =?UTF-8?q?=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../navinfo/omqs/bean/OfflineMapCityBean.kt | 2 +- .../omqs/bean/OfflineMapCityRealmObject.kt | 2 +- .../omqs/ui/activity/login/LoginViewModel.kt | 4 +- .../res/layout/adapter_offline_map_city.xml | 2 +- build.gradle | 2 +- .../library/data/entity/OfflineMapCityBean.kt | 48 +++++++++++++++++++ .../data/entity/OfflineMapCityRealmObject.kt | 43 +++++++++++++++++ 8 files changed, 97 insertions(+), 8 deletions(-) create mode 100644 collect-library/src/main/java/com/navinfo/collect/library/data/entity/OfflineMapCityBean.kt create mode 100644 collect-library/src/main/java/com/navinfo/collect/library/data/entity/OfflineMapCityRealmObject.kt diff --git a/app/build.gradle b/app/build.gradle index aaa4809f..a6212aa7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,8 +3,8 @@ plugins { id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' id 'com.google.dagger.hilt.android' + id 'realm-android' } -apply plugin: "realm-android" android { namespace 'com.navinfo.omqs' compileSdk 33 diff --git a/app/src/main/java/com/navinfo/omqs/bean/OfflineMapCityBean.kt b/app/src/main/java/com/navinfo/omqs/bean/OfflineMapCityBean.kt index fd00662b..d4485441 100644 --- a/app/src/main/java/com/navinfo/omqs/bean/OfflineMapCityBean.kt +++ b/app/src/main/java/com/navinfo/omqs/bean/OfflineMapCityBean.kt @@ -7,7 +7,7 @@ enum class StatusEnum(val status: Int) { ERROR(4), DONE(5), UPDATE(6) } -open class OfflineMapCityBean : RealmObject{ +open class OfflineMapCityBean{ var id: String = "" var fileName: String = "" var name: String = "" diff --git a/app/src/main/java/com/navinfo/omqs/bean/OfflineMapCityRealmObject.kt b/app/src/main/java/com/navinfo/omqs/bean/OfflineMapCityRealmObject.kt index 4f8481fc..92461d60 100644 --- a/app/src/main/java/com/navinfo/omqs/bean/OfflineMapCityRealmObject.kt +++ b/app/src/main/java/com/navinfo/omqs/bean/OfflineMapCityRealmObject.kt @@ -4,7 +4,7 @@ import io.realm.RealmObject import io.realm.annotations.PrimaryKey -open class OfflineMapCityRealmObject(): RealmObject() { +open class OfflineMapCityRealmObject(){ @PrimaryKey var id: String = "" var fileName: String="" diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt index 7578921b..46e0e27f 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt @@ -9,11 +9,9 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.navinfo.omqs.Constant import com.navinfo.omqs.bean.LoginUserBean -import com.navinfo.omqs.bean.OfflineMapCityRealmObject import io.realm.Realm import io.realm.RealmConfiguration import kotlinx.coroutines.* -import okio.ByteString.Companion.toByteString import okio.IOException import java.io.File import java.math.BigInteger @@ -64,7 +62,7 @@ class LoginViewModel( loginUser.value = LoginUserBean(username = "admin", password = "123456") } - fun initRealm() { + private fun initRealm() { val password = "password".encodeToByteArray().copyInto(ByteArray(64)) // 1110000011000010111001101110011011101110110111101110010011001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Log.d("", "密码是: ${BigInteger(1, password).toString(2).padStart(64, '0')}") diff --git a/app/src/main/res/layout/adapter_offline_map_city.xml b/app/src/main/res/layout/adapter_offline_map_city.xml index 3bad8ddd..3a0c0d60 100644 --- a/app/src/main/res/layout/adapter_offline_map_city.xml +++ b/app/src/main/res/layout/adapter_offline_map_city.xml @@ -10,7 +10,7 @@ <variable name="cityBean" - type="com.navinfo.omqs.bean.OfflineMapCityBean" /> + type="com.navinfo.collect.library.data.entity.OfflineMapCityBean" /> </data> <androidx.constraintlayout.widget.ConstraintLayout diff --git a/build.gradle b/build.gradle index 92ad9940..da697ab5 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { dependencies { - classpath "io.realm:realm-gradle-plugin:10.10.1" + classpath "io.realm:realm-gradle-plugin:10.11.1" } } plugins { diff --git a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/OfflineMapCityBean.kt b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/OfflineMapCityBean.kt new file mode 100644 index 00000000..e3791593 --- /dev/null +++ b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/OfflineMapCityBean.kt @@ -0,0 +1,48 @@ +package com.navinfo.collect.library.data.entity + +import io.realm.RealmObject +import io.realm.annotations.PrimaryKey + +enum class StatusEnum(val status: Int) { + NONE(0), WAITING(1), LOADING(2), PAUSE(3), + ERROR(4), DONE(5), UPDATE(6) +} + +open class OfflineMapCityBean @JvmOverloads constructor(@PrimaryKey var id: String = "", + var fileName: String = "", + var name: String = "", + var url: String = "", + var version: Long = 0L, + var fileSize: Long = 0L, + var currentSize: Long = 0L, + var status: Int =0) : RealmObject(){ + // status的转换对象 + var statusEnum:StatusEnum + get() { + return try { + StatusEnum.values().find { it.status == status }!! + } catch (e: IllegalArgumentException) { + StatusEnum.NONE + } + } + set(value) { + status = value.status + } + + fun getFileSizeText(): String { + return if (fileSize < 1024.0) + "$fileSize B" + else if (fileSize < 1048576.0) + "%.2f K".format(fileSize / 1024.0) + else if (fileSize < 1073741824.0) + "%.2f M".format(fileSize / 1048576.0) + else + "%.2f M".format(fileSize / 1073741824.0) + } + +// constructor(){ +// +// } +// + +} \ No newline at end of file diff --git a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/OfflineMapCityRealmObject.kt b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/OfflineMapCityRealmObject.kt new file mode 100644 index 00000000..5bd0e80a --- /dev/null +++ b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/OfflineMapCityRealmObject.kt @@ -0,0 +1,43 @@ +package com.navinfo.collect.library.data.entity + +import io.realm.RealmModel +import io.realm.RealmObject +import io.realm.annotations.PrimaryKey +import io.realm.annotations.RealmClass + +@RealmClass +open class OfflineMapCityRealmObject: RealmModel { + @PrimaryKey + var id: String = "" + var fileName: String="" + var name: String = "" + var url: String = "" + var version: Long = 0 + var fileSize: Long = 0 + var currentSize:Long = 0 + var status:Int = 0 + + constructor(){ + + } + + constructor( + id: String, + fileName: String, + name: String, + url: String, + version: Long, + fileSize: Long, + currentSize: Long, + status: Int + ) { + this.id = id + this.fileName = fileName + this.name = name + this.url = url + this.version = version + this.fileSize = fileSize + this.currentSize = currentSize + this.status = status + } +} \ No newline at end of file