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().modelO 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
- Projete uma interface de capacidades
- expect/actual para informações do dispositivo
- Sistema de arquivos e caminhos por plataforma
- Injete implementações da plataforma