Explique o princípio de funcionamento da classe DiffUtil e sua aplicação na otimização da atualização de listas no Android
Android
Consegue listar os principais elementos da arquitetura Android e suas funções?
Qual é a finalidade de uma classe usando a palavra-chave data em linguagens de programação modernas?
Tem experiência no desenvolvimento de interfaces de utilizador usando Jetpack Compose?
Qual é a diferença entre as anotações Provides e Binds no Dagger, e em que situações elas são recomendadas?
Em que situações é recomendado usar o componente BottomSheetDialog numa aplicação?
Qual é a finalidade da anotação Provides no Dagger e como ela é usada para fornecer dependências?
Quais métodos podem ser usados para lidar com exceções dentro de corrotinas na programação assíncrona?
É possível criar subclasses de data class em Kotlin?
Pode explicar a finalidade e o uso do tipo Any em Kotlin?
Pode explicar o que significa None na linguagem Python?
Qual é o papel da propriedade 'by lazy' em Kotlin e em que cenários é adequado o seu uso?
Quais são as principais diferenças entre usar BottomSheetDialog e BottomSheetDialogFragment ao implementar uma barra inferior?
Pode explicar o que se entende por 'unidade' no contexto do desenvolvimento de software?
Por que sobrescrever ou usar o método equals nas classes de dados?
Como é que o método hashCode é implementado numa data class?
Em que casos é justificado o uso do componente BottomSheetDialogFragment numa aplicação?
Quais são as restrições existentes na anotação @Provides no Dagger para garantir o funcionamento correto das dependências?
Para que fins é que a redefinição do método hashCode é utilizada na classe de dados?
Como é que a utilização de corutinas e threads difere na implementação de tarefas assíncronas?