Docs Menu
Docs Home
/ /
Atlas Device SDK
/

Flutter SDK v2.0.0 にアップグレードします

項目一覧

  • ビルダの変更
  • 必要な操作はありますか。
  • 削除されたクラスとノード

Atlas Device SDK for Flutter バージョン2.0.0 は、以前のバージョンからの既存のアプリのアップグレードに影響を与えるいくつかの重大な変更を導入します。

注目すべきのは、この SDK では次のことです。

  • 部分ビルダと SDK がデータモデル クラスのファイルを生成する方法を変更します。 この変更は、SDK の以前のバージョンからアップグレードするすべてのアプリに影響します。 詳細と手順については、このページの「 Builder の変更」セクションを参照してください。

  • 複数のクラスとノードを削除または置き換えます。 これらの変更はアプリに影響を与える場合と影響しない場合があります。 影響を受けるアプリの情報と手順については、このページの「削除されたクラスとノード」セクションを参照してください。

重要

この変更は、SDK の以前のバージョンからアップグレードするすべてのアプリに影響します。

Flutter SDK バージョン2.0.0 SDKrealm_generator の をアップデートし、PartBuilder ではなくSharedPartBuilder を使用します。このアップデートされたビルダーは、新しい.realm.dartファイル拡張子を持つRealmModelデータモデル ファイルを生成します。

バージョン
ファイル拡張子
ディレクティブの例
SDK v 2.0.0以降
.realm.dart
part 'car.realm.dart';
SDK v 1.9.0以前
.g.dart
part 'car.g.dart';

Tip

SharedPartBuilderからPartBuilder へのアップデートにより、アプリ内で複数のビルダを使用しやすくなります。たとえば、 realm_dartdart_mappablejson_serializableなどの直列化パッケージ ビルダと組み合わせます。

既存のアプリを Flutter SDK の以前のバージョンからバージョン2.0.0以降にアップグレードする場合、既存の部分宣言をすべて更新してから、新しい.realm.dartファイル拡張子でオブジェクトモデルを再生成する必要があります。

1

アプリ内のすべてのRealmObject部分宣言を更新し、新しい命名規則を使用します。

import 'package:realm_dart/realm.dart';
// Update existing declaration from .g.dart to .realm.dart
// part 'car.g.dart';
part 'car.realm.dart';
@RealmModel()
class _Car {
@PrimaryKey()
late ObjectId id;
late String make;
late String? model;
late int? miles;
}
2

すべての宣言を更新した後、新しい.realm.dartファイル拡張子でオブジェクトモデルを再生成します。 プロジェクトから任意の.g.dartファイルを安全に削除できます。

dart run realm generate

すべての宣言を更新した後、新しい.realm.dartファイル拡張子でオブジェクトモデルを再生成します。 プロジェクトから任意の.g.dartファイルを安全に削除できます。

dart run realm_dart generate

Flutter SDK バージョン2.0.0でも、SDK からいくつかのクラス、ノード、プロパティが削除または置き換えられました。 これらの変更はアプリに影響を与える場合と影響しない場合があります。

次の表は、削除された内容とその理由、および削除されたクラスまたはノードを使用したアプリをアップグレードする際に推奨される解決策(存在する場合)の概要を示します。

削除されたクラスまたはノード
理由
解決法
AppConfiguration.localAppName および AppConfiguration.localAppVersion
SDK では未使用です。
インスタンスがすべて削除されます。
ClientResetError.isFatal
必要ありません。 常にtrue
インスタンスがすべて削除されます。
ClientResetError.sessionErrorCode
SDK v 1.6.0のSyncErrorCodeに統合されました。
Realm.logger.level
Realm.logger.setLogLevelに置き換えられました。
すべての インスタンスを置き換えます。 See also Logging - Flutter SDK.
RealmProperty.indexed
RealmProperty.indexTypeに置き換えられました。
すべての インスタンスを置き換えます。
RealmValue.type
RealmValueTypeの列挙に変更しました。
すべての インスタンスを置き換えます。 「 RealmValue データ型 」も参照してください。
RealmValue.uint8List
名前がRealmValue.binaryに変更されました。
すべての インスタンスを置き換えます。 「 RealmValue データ型 」も参照してください。
SchemaObject.properties
SchemaObject SchemaPropertyの反復可能なコレクションに変更されました。
すべての インスタンスを置き換えます。 「スキーマ オブジェクト」も参照して ください API リファレンス。
SyncError コンストラクターとSyncError.createファクトリー
同期エラーは、SDK によって内部的にのみ作成される必要があります。
インスタンスがすべて削除されます。
SyncClientErrorSyncConnectionErrorSyncSessionErrorSyncResolveErrorSyncWebSocketErrorGeneralSyncError
SDK v 1.6.0のSyncErrorに統合されました。
SyncErrorまたはそのサブクラスを使用します。 SyncError も参照してください API リファレンス。
SyncErrorCategorySyncClientErrorCodeSyncConnectionErrorCodeSyncSessionErrorCodeSyncResolveErrorCode 、``SyncWebsocketErrorCode``、 GeneralSyncErrorCode
SDK v 1.6.0のSyncErrorCodeに統合されました。
SyncErrorCode列挙型を使用します。 SyncError も参照してください API リファレンス。
SyncError.codeValueSyncError.categorySyncError.detailedMessage
SDK v 1.6.0のSyncErrorに統合されました。 メッセージは未使用でした。
カテゴリまたはメッセージのインスタンスがすべて削除されます。 SyncError.codeValueSyncError.code.codeに置き換えます。 SyncError も参照してください API リファレンス。
SyncProgress.transferredBytes および SyncProgress.transferableBytes
転送値と転送可能な値が誤って報告されました。 新しいSyncProgress.progressEstimateメトリクスに統合されました。
User.provider
プロバイダーは各 ID に関連付けられているため、複数の ID を持つユーザーの場合、値は正しくありませんでした。
インスタンスがすべて削除されます。

戻る

SDK テレメトリ