0Pricing
Kotlin Multiplatform Academy · Aula

expect/actual para informações do dispositivo

Retorne a versão do OS e o modelo por plataforma.

expect/actual para informações do dispositivo é uma aula grátis de Kotlin Multiplatform Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Multiplatform Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.

Da interface ao expect

Às vezes, você pode ignorar uma interface e usar expect/actual diretamente. Isso declara as informações do dispositivo uma vez em commonMain e as implementa por plataforma.

Declare a classe expect

Em commonMain, escreva uma classe expect com as informações do dispositivo de que você precisa. Ainda não há um corpo, apenas o formato que ambas as plataformas devem seguir.

expect class DeviceInfo() {
  val model: String
  val osVersion: String
}

O actual do Android

Em androidMain, o actual lê Build.MODEL e a versão do OS para preencher valores reais do Android durante a execução.

actual class DeviceInfo {
  actual val model = Build.MODEL
  actual val osVersion = Build.VERSION.RELEASE
}

O actual do iOS

Em iosMain, o actual usa UIDevice para informar o nome do modelo da Apple e a versão do iOS em execução.

actual class DeviceInfo {
  actual val model = UIDevice.currentDevice.model
  actual val osVersion = UIDevice.currentDevice.systemVersion
}

As assinaturas devem coincidir

Cada propriedade de cada actual deve corresponder ao expect em nome e tipo. Uma única divergência faz o compilador se recusar a vincular os destinos.

Use-o no código compartilhado

O código comum cria DeviceInfo() e lê suas propriedades como em qualquer código Kotlin. O actual correto é integrado durante a compilação para cada destino.

fun banner() = "Running on " + DeviceInfo().model

O Android obtém valores de Build

Quando o aplicativo Android é compilado, o actual de androidMain é vinculado, então model retorna o nome real do hardware a partir da classe Build.

O iOS obtém valores de UIDevice

A mesma chamada dentro da estrutura do iOS retorna os valores da Apple, porque o actual de iosMain foi compilado nesse destino.

As importações permanecem nos conjuntos de código

Build fica em androidMain e UIDevice em iosMain. CommonMain nunca importa um tipo de plataforma, que é exatamente o que o mantém compartilhado.

expect/actual ou interface

Uma interface exige que você injete uma implementação. expect/actual faz a vinculação automaticamente durante a compilação, portanto quem chama apenas constrói a classe.

Escolha a ferramenta mais simples

Para uma informação de plataforma única e sem estado, expect/actual é a opção mais enxuta. Prefira uma interface quando também quiser trocar livremente as simulações.

Verificação rápida

Considere como os valores corretos do dispositivo chegam a cada aplicativo.

Recapitulação

Você declarou um DeviceInfo expect em commonMain e forneceu actuals para Android e iOS, com assinaturas correspondentes para que cada aplicativo informe seus próprios valores. 🎉

Perguntas Frequentes

A aula “expect/actual para informações do dispositivo” é grátis?

Sim — o texto completo de “expect/actual para informações do dispositivo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Multiplatform Academy, atualize para CoddyKit PRO. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.

O que vou aprender em “expect/actual para informações do dispositivo”?

Retorne a versão do OS e o modelo por plataforma. Você pratica Kotlin Multiplatform Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Kotlin Multiplatform Academy?

Nenhuma experiência prévia é necessária. Kotlin Multiplatform Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “expect/actual para informações do dispositivo”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Kotlin Multiplatform Academy?

Sim. Cada aula de Kotlin Multiplatform Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Projete uma interface de capacidades
  2. expect/actual para informações do dispositivo
  3. Sistema de arquivos e caminhos por plataforma
  4. Injete implementações da plataforma
← Voltar para Kotlin Multiplatform Academy