升级到 Flutter SDK v 2.0.0
Atlas Device SDK 已弃用。 有关详细信息,请参阅弃用页面。
适用于 Flutter 版本2.0.0的 Atlas Device SDK 引入了几项重大更改,这些更改会影响从早期版本升级到现有应用程序。
值得注意的是,此版本的 SDK:
更改部件构建器以及 SDK 为数据模型类生成文件的方式。 此更改会影响从早期 SDK 版本升级的所有应用。 有关信息和说明,请参阅此页面上的构建器更改部分。
删除或替换多个类和成员。 这些更改可能会也可能不会影响您的应用。 有关受影响应用的信息和说明,请参阅本页的“已删除的类和成员”部分。
生成器更改
重要
此更改会影响从早期 SDK 版本升级的所有应用。
Flutter SDK版本2.0.0 更新 SDK 的 realm_generator
以使用PartBuilder
而不是SharedPartBuilder
。 更新后的构建器可生成带有新.realm.dart
文件扩展名的RealmModel
数据模型文件:
版本 | 文件扩展名 | 部分指令示例 | |
---|---|---|---|
SDK v 2.0.0及更高版本 | .realm.dart |
| |
SDK v 1.9.0及更早版本 | .g.dart |
|
提示
从SharedPartBuilder
更新到PartBuilder
后,您可以更轻松地在应用程序中使用多个构建器。 例如,将realm_dart
与dart_mappable
或json_serializable
等序列化包构建器结合使用。
我需要做什么?
当您升级现有应用从早期版本的Flutter SDK升级到版本2.0.0或更高版本时,您必须更新所有现有部件声明,然后使用新的.realm.dart
文件扩展名重新生成对象模型:
1
已删除的类和成员
Flutter SDK 2.0.0版本还删除或替换了 SDK 中的多个类、成员和属性。 这些更改可能会也可能不会影响您的应用。
下表概述了已删除的内容和原因,以及升级使用已删除的类或成员(如果有)的应用时建议的解决方案:
已删除的类或成员 | 原因 | 解决方案 |
---|---|---|
AppConfiguration.localAppName 和 AppConfiguration.localAppVersion | 在 SDK 中未使用。 | 删除所有实例。 |
ClientResetError.isFatal | 不需要。 始终 true 。 | 删除所有实例。 |
ClientResetError.sessionErrorCode | 在 SDK v 1.6.0中合并到 SyncErrorCode 中。 | 使用 SyncErrorCode 枚举。另请参阅 SyncError API参考。 |
Realm.logger.level | 已替换为 Realm.logger.setLogLevel 。 | 替换任何实例。 另请参阅日志记录 - Flutter SDK。 |
RealmProperty.indexed | 已替换为 RealmProperty.indexType 。 | 替换任何实例。 |
RealmValue.type | 更改为 RealmValueType 的枚举。 | 替换任何实例。 另请参阅RealmValue 数据类型。 |
RealmValue.uint8List | 已重命名为 RealmValue.binary 。 | 替换任何实例。 另请参阅RealmValue 数据类型。 |
SchemaObject.properties | SchemaObject 更改为SchemaProperty 的可遍历集合。 | 替换任何实例。 另请参阅 SchemaObject API 参考。 |
SyncError 构造函数和SyncError.create 工厂 | 同步错误只能由 SDK 在内部创建。 | 删除所有实例。 |
SyncClientError 、 SyncConnectionError 、 SyncSessionError 、 SyncResolveError 、 SyncWebSocketError 和GeneralSyncError | 在 SDK v 1.6.0中合并到 SyncError 中。 | 使用 SyncError 或其子类。 另请参阅 SyncError API参考。 |
SyncErrorCategory 、 SyncClientErrorCode 、 SyncConnectionErrorCode 、 SyncSessionErrorCode 、 SyncResolveErrorCode 、``SyncWebsocketErrorCode`` 和GeneralSyncErrorCode | 在 SDK v 1.6.0中合并到 SyncErrorCode 中。 | 使用 SyncErrorCode 枚举。 另请参阅 SyncError API 参考。 |
SyncError.codeValue 、SyncError.category 和 SyncError.detailedMessage SyncError.detailedMessage | 在 SDK v 1.6.0中合并到 SyncError 中。 消息未使用。 | |
SyncProgress.transferredBytes 和 SyncProgress.transferableBytes | 报告的已传输和可传输值不正确。 已合并为新的 SyncProgress.progressEstimate 指标。 | 使用 SyncProgress.progressEstimate 。 另请参阅监控同步上传和下载进度。 |
User.provider | 提供者与每个身份相关联,因此对于具有多个身份的用户,该值不正确。 | 删除所有实例。 |