Docs Menu
Docs Home
/ /
SDK de Flutter

Actualice al SDK de Flutter v2.0.0

El SDK de dispositivos Atlas para Flutter versión 2.0.0 presenta varios cambios importantes que afectan a las aplicaciones existentes que se actualizan desde una versión anterior.

En particular, esta versión del SDK:

  • Se modifica el generador de componentes y la forma en que el SDK genera archivos para las clases del modelo de datos. Este cambio afecta a todas las aplicaciones que se actualizan desde una versión anterior del SDK. Consulte la SecciónCambios del constructor en esta página para obtener información e instrucciones.

  • Elimina o reemplaza varias clases y miembros. Estos cambios pueden afectar o no a tu aplicación. Consulta la sección "Clases y miembros eliminados" en esta página para obtener información e instrucciones sobre las aplicaciones afectadas.

Importante

Este cambio afecta a todas las aplicaciones que se actualicen desde una versión anterior del SDK.

La versión 2.0.0 del SDK de Flutter actualiza el SDK realm_generator Para usar un PartBuilder en lugar de un SharedPartBuilder. Este generador actualizado genera archivos de modelo de datos RealmModel con una nueva extensión de archivo .realm.dart:

Versión
Extensión de archivo
Ejemplo de directiva parcial

SDK v2.0.0 y posteriores

.realm.dart

part 'car.realm.dart';

SDK v1.9.0 y anteriores

.g.dart

part 'car.g.dart';

Tip

La actualización de SharedPartBuilder a PartBuilder facilita el uso de varios compiladores en la aplicación. Por ejemplo, al combinar realm_dart con un compilador de paquetes de serialización como dart_mappable o json_serializable.

Cuando actualiza una aplicación existente desde una versión anterior del SDK de Flutter a la 2.0.0 versión o posterior,debe actualizar todas las declaraciones de partes existentes y luego regenerar los modelos de objetos con la nueva .realm.dart extensión de archivo:

1

Actualice todas las declaraciones de la parte RealmObject en su aplicación para usar la nueva convención de nomenclatura:

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

Después de que actualices todas tus declaraciones, regenera tus modelos de objetos con la nueva extensión de archivo .realm.dart. Puedes borrar de forma segura cualquier archivo .g.dart de tu proyecto.

dart run realm generate

Después de que actualices todas tus declaraciones, regenera tus modelos de objetos con la nueva extensión de archivo .realm.dart. Puedes borrar de forma segura cualquier archivo .g.dart de tu proyecto.

dart run realm_dart generate

La versión 2.0.0 del SDK de Flutter también eliminó o reemplazó varias clases, miembros y propiedades. Estos cambios pueden afectar o no a tu aplicación.

La siguiente tabla describe lo que se eliminó y por qué, así como una solución recomendada al actualizar una aplicación que usó la clase o el miembro eliminado, si corresponde:

Clase o miembro eliminado
Razón
Solución

AppConfiguration.localAppName y AppConfiguration.localAppVersion

No utilizado en SDK.

Eliminar cualquier instancia.

ClientResetError.isFatal

No es necesario. Siempre true.

Eliminar cualquier instancia.

ClientResetError.sessionErrorCode

Consolidado en SyncErrorCode en SDK v1.6.0.

Realm.logger.level

Reemplazado por Realm.logger.setLogLevel.

Reemplace las instancias. Consulte también Registro - SDK de Flutter.

RealmProperty.indexed

Reemplazado por RealmProperty.indexType.

Reemplace cualquier instancia.

RealmValue.type

Cambiado a un enum de RealmValueType.

Reemplace cualquier instancia. Consulte también Tipo de dato RealmValue.

RealmValue.uint8List

Renombrado a RealmValue.binary.

Reemplace cualquier instancia. Consulte también Tipo de dato RealmValue.

SchemaObject.properties

SchemaObject cambiado a una colección iterable de SchemaProperty.

Reemplace las instancias. Consulte también la referencia de la API de SchemaObject.

SyncError constructor y fábrica SyncError.create

El SDK solo debe crear errores de sincronización de forma interna.

Eliminar cualquier instancia.

SyncClientError, SyncConnectionError, SyncSessionError, SyncResolveError, SyncWebSocketError y GeneralSyncError

Consolidado en SyncError en SDK v1.6.0.

Utilice SyncError o sus subclases. Consulte también la referencia de la API de SyncError.

SyncErrorCategory, SyncClientErrorCode, SyncConnectionErrorCode, SyncSessionErrorCode, SyncResolveErrorCode, ``SyncWebsocketErrorCode`` y GeneralSyncErrorCode

Consolidado en SyncErrorCode en SDK v1.6.0.

Utilice SyncErrorCode la enumeración. Consulte también la referencia de la API SyncError.

SyncError.codeValue, SyncError.category, y SyncError.detailedMessage

Consolidado en SyncError en el SDK v1.6.0. Los mensajes no se utilizaron.

Elimine cualquier instancia de categoría o mensaje. Reemplace SyncError.codeValue SyncError.code.codepor. Consulte también la referencia de la API de SyncError.

SyncProgress.transferredBytes y SyncProgress.transferableBytes

Los valores transferidos y transferibles reportados eran incorrectos. Se consolidaron en una nueva métrica SyncProgress.progressEstimate.

Utilice. Consulte SyncProgress.progressEstimate también Supervisar el progreso de carga y descarga de sincronización.

User.provider

El proveedor está asociado con cada identidad, por lo que el valor era incorrecto para los usuarios con más de una identidad.

Eliminar cualquier instancia.

Volver

Telemetría del SDK

En esta página