Docs 菜单
Docs 主页
/ /
Atlas Device SDKs

安装 React Native SDK

在此页面上

  • 先决条件
  • 使用 SDK 与 Expo
  • 在 Bare React Native App 中安装 SDK
  • 创建 React Native 项目
  • 使用 npm 安装 SDK
  • Enable Hermes
  • 解析 CocoaPods 依赖关系
  • 扩展 Android Proguard 配置
  • 启用 TypeScript(推荐,但可选)
  • 安装 @realm/react 库
  • 运行应用
  • 创建 React Native 项目
  • 使用 NPM 安装 SDK
  • 链接 SDK 的原生模块
  • 确认链接步骤(Android)
  • 启用 TypeScript(可选)
  • 运行应用
  • 导入 SDK

适用于 React Native 的 Atlas Device SDK 支持开发 React Native 使用 JavaScript 和 TypeScript 语言的应用程序。 React Native 使您能够使用 React 框架。

在开始之前,请确保您的开发环境满足以下前提条件。这些条件是最新版本的 React Native SDK 所必须的:

  • 请按照 React Native CLI 官方快速入门说明设置环境。

  • React Native v 0.71.4或更高版本。 查看 兼容性图表 以确定哪个版本的 React Native 与特定 React Native SDK 版本兼容。

注意

Realm JS v10.6.0 及更高版本支持 Mac Catalyst

您可以将 React Native SDK 与裸 React Native 应用或 Expo 结合使用。此页面和 React Native SDK 文档一般假定您使用的是裸 React Native 应用,而不是 Expo。

如果您想要将 React Native SDK 与 Expo 结合使用,请参阅使用 Expo 快速启动页面。

选择下面与您的 React Native 版本相对应的标签页。按照步骤创建一个 React Native 项目并将 React Native SDK 添加到其中。

提示

Atlas Device SDK 和 Realm

SDK 使用 Realm Core 数据库来实现设备数据持久化。当您安装 React Native SDK 时,包的名称会反映 Realm 的命名方式。

1

使用以下命令创建 React Native 项目:

npx react-native init MyApp

切换到上一个命令刚刚创建的项目目录:

cd MyApp
2

在 React Native 项目目录中,使用以下命令将 SDK 添加到项目:

npm install realm
3

注意

要使用 Hermes,应用程序必须使用 Realm v11 或更高版本以及 React Native 0.70.0 或更高版本

该 SDK 支持 React Native 经过优化的移动式 JavaScript 引擎 Hermes。默认情况下,使用 React Native CLI 创建的新应用程序已启用 Hermes。

我们建议将 Hermes 与 SDK 结合使用。不过,如果应用程序需要,该 SDK 还支持 JavaScriptCore (JSC) 引擎

目前使用 JSC 的现有应用程序可以分别为 Android 和 iOS 启用 Hermes。要了解如何操作,请参阅 React Native 文档中的 Hermes 用法指南。

4

对于 iOS 应用程序,请使用以下命令从 React Native 项目目录中获取 CocoaPods 依赖项:

cd ios && pod install && cd ..

这会下载 SDK 库并重新生成项目 .xcworkspace文件,您可以在 Xcode 中使用该文件来运行应用程序。

5

可能需要扩展 Proguard 配置才能将其与 Android 应用程序结合使用。在 Proguard 配置中,添加以下内容:

-keep class io.realm.react.**
6

TypeScript 是 JavaScript 的超集,其中增加了静态类型检查和其他功能,旨在实现更加稳健的应用程序级开发。如果想在项目中使用 TypeScript,请遵循 React Native 团队的官方 TypeScript 和 React Native 指南。该 SDK 原生支持 TypeScript,并可轻松集成到 TypeScript 项目中。

7

@realm/react 是一个 npm 软件包,可以简化常见的 SDK 操作,例如查询、写入数据库以及监听对象更改通知。这可以减少样板代码,例如创建自己的监听器和状态管理。这可以减少样板代码,例如创建自己的监听器和状态管理。

@realm/react 通过一组具有各种钩子的提供程序提供对 SDK 的访问。当数据发生变化时,钩子会更新 React 状态。这意味着使用这些钩子的组件会在数据库中的数据发生任何变化时重新渲染。

注意

将 @realm/react 与 Realm JS 版本 11 或更高版本结合使用

使用RealmJavaScript 版本11.0.0 或更高版本的 @realm/React ,则必须使用@realm/react 版本0 。4 .0或更高版本。

在 React Native 项目目录中,使用如下命令将 @realm/react 添加到项目中:

npm install @realm/react
8

React Native 支持同时开发使用相同 React 代码库的 iOS 和 Android 应用程序。可以编辑项目目录中的 .js.ts 源文件,以开发应用程序。

在开发过程中,应用程序将 React 源代码作为本地绑定服务器的捆绑包进行读取。要运行绑定服务器,请在 React Native 项目目录中使用以下命令:

npm start

随着绑定服务器的运行,现在可以启动 Android 和 iOS 应用程序:

  • 要运行 Android 应用程序,请使用 Android Studio 打开项目目录中的android目录,然后单击 Run

  • 要运行 iOS 应用程序,请使用 Xcode 打开 ios 目录中的 .xcworkspace 文件。如果在安装过程中未使用 CocoaPods,请打开 ios 目录中的 .xcodeproj 文件。打开项目后,单击 Run

注意

@realm/react 版本要求

@realm/react 库需要 React-Native 版本>= 0.59 。如果您使用旧版本的 React Native 进行开发,则可以使用不带 的 SDK。由于@realm/react React Native SDK 文档大量使用@realm/react 包,因此您可能需要参阅 Node.js SDK 文档。

1

使用以下命令创建 React Native 项目:

react-native init MyApp

切换到上一个命令刚刚创建的项目目录:

cd MyApp
2

在 React Native 项目目录中,使用以下命令将 SDK 添加到项目:

npm install realm
3

在 React Native 项目目录中,使用以下命令将 SDK 的原生模块链接到您的项目:

react-native link realm
4

对于 Android 开发,请确认链接步骤已将 SDK 模块正确添加到 Gradle 配置文件中。在某些版本中,React Native 已知无法正确链接 SDK。如果发生这种情况,您可以通过将以下任何缺失的行添加到相应文件来手动链接 SDK。

首先,确保android/settings.gradle文件包含 SDK 并指定 SDK 的项目目录:

rootProject.name = 'MyApp'
include ':realm'
project(':realm').projectDir = new File(rootProject.projectDir, '../node_modules/realm/android')
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'

其次,确保android/app/build.gradle文件的dependencies部分将 SDK 声明为依赖项:

dependencies {
implementation project(':realm')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.facebook.react:react-native:+" // From node_modules
// ...
}

最后,确保MainApplication.java文件导入RealmReactPackage并在其软件包列表中将其实例化。

import io.realm.react.RealmReactPackage; // Add this import.
public class MainApplication extends Application implements ReactApplication {
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new RealmReactPackage() // Add this line.
);
}
// ...
}
5

TypeScript 是 JavaScript 的超集,其中增加了静态类型检查和其他功能,旨在实现更加稳健的应用程序级开发。如果想在项目中使用 TypeScript,请遵循 React Native 团队的官方 TypeScript 和 React Native 指南。该 SDK 原生支持 TypeScript,并可轻松集成到 TypeScript 项目中。

6

React Native 支持同时开发使用相同 React 代码库的 iOS 和 Android 应用程序。可以编辑项目目录中的 .js.ts 源文件,以开发应用程序。

在开发过程中,应用程序将 React 源代码作为本地绑定服务器的捆绑包进行读取。要运行绑定服务器,请在 React Native 项目目录中使用以下命令:

npm start

随着绑定服务器的运行,现在可以启动 Android 和 iOS 应用程序:

  • 要运行 Android 应用程序,请使用 Android Studio 打开项目目录中的 android 目录,然后单击 Run

  • 要运行 iOS 应用程序,请使用 Xcode 打开 ios 目录中的 .xcworkspace 文件。如果在安装过程中未使用 CocoaPods,请打开 ios 目录中的 .xcodeproj 文件。打开项目后,单击 Run

在要使用 SDK 的源文件顶部添加以下命令行:

import Realm from "realm";

来年

欢迎使用 Atlas Device SDK 文档