Docs 菜单
Docs 主页
/ /
Atlas Device SDKs

安装 Realm - Java SDK

在此页面上

  • Overview
  • 先决条件
  • 安装
  • Project Gradle 配置
  • 应用程序模块 Gradle 配置
  • 启用 Atlas Device Sync
  • 支持的平台

注意

Java SDK 处于维护模式

Java SDK 处于尽力维护模式,不再接受新的开发或非关键性错误修复。要开发具有新功能的应用,请使用 Kotlin SDK。您可以在同一个项目中使用 Java SDK 和 Kotlin SDK。

详细了解如何从 Java SDK 迁移到 Kotlin SDK

注意

新的Java SDK应用程序无法使用 RealmAny

新的 App Services应用将无法将数据模型与类型为 RealmAny的属性同步。

本页详细介绍了如何在项目中使用 Java SDK 安装并开始使用 Realm。

您可以在项目中使用多个 SDK。 由于 Java SDK 不再接受新的开发,因此如果您想在应用程序中使用新功能,这非常有用。 例如,您可以使用 Kotlin SDK 将 Atlas Device Sync 的数据导入功能添加到您的应用中,同时继续使用 Java 处理其他事务。

Realm 仅支持 Gradle 构建系统。请按照以下步骤将 Realm Java SDK 添加到您的项目中。

注意

ProGuard

由于 Realm 提供 ProGuard 配置作为 Realm 库的一部分,因此您无需将任何特定于 Realm 的规则添加到 ProGuard 配置中。

要将仅限本地的 Realm 添加到您的应用程序,请对项目级 Gradle 构建文件(通常位于 <project>/build.gradle)进行以下更改:

提示

Java SDK 尚不支持 Gradle 插件语法。幸运的是,您仍然可以将 SDK 添加到使用此语法的项目中。

  • 添加一个包含 repositories 区块和 dependencies 区块的 buildscript 区块。

  • mavenCentral() 存储库添加到 buildscript.repositories 区块。

  • io.realm:realm-gradle-plugin 依赖项添加到 buildscript.dependencies 区块。

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "io.realm:realm-gradle-plugin:10.18.0"
}
}
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 "org.jetbrains.kotlin.kapt" version "1.6.20" apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
  • io.realm:realm-gradle-plugin 依赖项添加到 buildscript.dependencies 区块。

  • mavenCentral() 存储库添加到 allprojects.repositories 区块。

buildscript {
repositories {
google()
}
dependencies {
classpath "com.android.tools.build:gradle:3.5.1"
classpath "io.realm:realm-gradle-plugin:10.18.0"
}
}
allprojects {
repositories {
google()
mavenCentral()
}
dependencies {
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}

然后,对应用程序级 Gradle 构建文件(通常位于 <project>/app/build.gradle)进行以下更改:

  • 如果您的应用程序使用 Kotlin,请应用 kotlin-kapt 插件

  • plugins 区块下方,应用 realm-android 插件。

plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'org.jetbrains.kotlin.kapt'
}
apply plugin: "realm-android"
android {
compileSdk 31
defaultConfig {
applicationId "com.mongodb.example-realm-application"
minSdk 28
targetSdk 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = '11'
}
}
dependencies {
implementation 'io.realm:realm-gradle-plugin:10.10.1'
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
  • 如果您的应用程序使用 Kotlin,请应用 kotlin-kapt 插件

  • 应用realm-android插件

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'realm-android'
android {
compileSdkVersion 31
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.mongodb.example-realm-application"
minSdkVersion 28
targetSdkVersion 31
}
compileOptions {
sourceCompatibility 1.11
targetCompatibility 1.11
}
kotlinOptions {
jvmTarget = '11'
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "androidx.appcompat:appcompat:1.1.0"
implementation "androidx.core:core-ktx:1.2.0"
}

更新build.gradle文件后,单击 File > Sync Project with Gradle Files解析依赖项。

要在您的应用程序中使用 Atlas Device Sync,请在您的应用程序模块 build.gradle 中创建一个 realm 区块。在此区块内,将 syncEnabled 设置为 true

realm {
syncEnabled = true
}

Realm 的 Java SDK 支持你为以下平台构建应用:

  • Android

  • Wear 操作系统

  • Android Automotive OS

  • Android TV

  • Android Things

来年

欢迎使用 Atlas Device SDK 文档