Atualize para o Flutter SDK v2.0.0
Atlas Device SDK para Flutter versão 2.0.0 introduz várias alterações significativas que afetam a atualização dos aplicativos existentes de uma versão anterior.
Em especial, esta versão do SDK:
Altera o construtor de partes e como o SDK gera arquivos para suas classes de modelo de dados. Essa alteração afeta todos os aplicativos que estão sendo atualizados de uma versão anterior do SDK. Consulte a seção Alterações do construtor nesta página para obter informações e instruções.
Remove ou substitui várias classes e membros. Essas alterações podem ou não afetar seu aplicativo. Consulte a seção Classes e membros removidos nesta página para obter informações e instruções para aplicativos afetados.
Mudanças no construtor
Importante
Essa alteração afeta todos os aplicativos que estão sendo atualizados de uma versão anterior do SDK.
Versão do Flutter SDK 2.0.0 atualiza o realm_generator
do SDK para usar um PartBuilder
em vez de um SharedPartBuilder
. Este construtor atualizado gera RealmModel
arquivos de modelo de dados com uma nova extensão de arquivo .realm.dart
:
Versão | Extensão de arquivo | Exemplo de diretiva de parte | |
---|---|---|---|
SDK v2.0.0 e posterior |
|
| |
SDK v1.9.0 e anteriores |
|
|
Dica
A atualização de SharedPartBuilder
para PartBuilder
facilita o uso de vários construtores em seu aplicativo. Por exemplo, combinando o realm_dart
com um construtor de pacote de serialização como dart_mappable
ou json_serializable
.
O que preciso fazer?
Ao atualizar um aplicativo existente de uma versão anterior do Flutter SDK para a versão 2.0.0 ou posterior, você deve atualizar quaisquer declarações de parte existentes e, em seguida, gerar novamente os modelos de objeto com a nova extensão de arquivo .realm.dart
:
Atualize suas declarações de parte existentes
Atualize todas as declarações de partes RealmObject
em seu aplicativo para usar a nova convenção 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'; ()class _Car { () late ObjectId id; late String make; late String? model; late int? miles; }
Regenere seus modelos de objetos
Depois de atualizar todas as suas declarações, regenere seus modelos de objeto com a nova extensão de arquivo .realm.dart
. Você pode excluir com segurança quaisquer arquivos .g.dart
do seu projeto.
dart run realm generate
Depois de atualizar todas as suas declarações, regenere seus modelos de objeto com a nova extensão de arquivo .realm.dart
. Você pode excluir com segurança quaisquer arquivos .g.dart
do seu projeto.
dart run realm_dart generate
Classes e membros removidos
A versão 2.0.0 do Flutter SDK também removeu ou substituiu várias classes, membros e propriedades do SDK. Essas alterações podem ou não impacto seu aplicativo.
A tabela a seguir descreve o que foi removido e por que, bem como uma solução recomendada ao atualizar um aplicativo que usou a classe ou membro removido, se houver:
Classe ou membro removido | Razão | várias plataformas |
---|---|---|
| Não usado no SDK. | Remova quaisquer instâncias. |
| Não é necessário. Sempre | Remova quaisquer instâncias. |
| Consolidado em | Use |
| Substituído por | Substitua quaisquer instâncias. Consulte também Logging — Flutter SDK. |
| Substituído por | Substitua quaisquer instâncias. |
| Alterado para um enum de | Substitua quaisquer instâncias. Consulte também Tipo de dados RealmValue. |
| Renomeado para | Substitua quaisquer instâncias. Consulte também Tipo de dados RealmValue. |
|
| Substitua quaisquer instâncias. Veja também o SchemaObject Referência da API. |
| Os erros de sincronização só devem ser criados internamente pelo SDK. | Remova quaisquer instâncias. |
| Consolidado em | Use |
| Consolidado em | Use o enum |
| Consolidado em | Remova quaisquer instâncias de categoria ou mensagem. Substitua |
| Os valores transferidos e transferíveis relatados estavam incorretos. Consolidado em uma nova métrica | Use |
| O fornecedor está associado a cada identidade, portanto, o valor estava incorreto para usuários com mais de uma identidade. | Remova quaisquer instâncias. |