Pular para conteúdo

Exercícios 09 - Listas Eficientes (RecyclerView) 📋

🟢 Fáceis

  1. Conceito: Por que o RecyclerView é mais eficiente que um ListView antigo ou um LinearLayout dentro de um ScrollView?
  2. Componentes: Qual a função do LayoutManager no RecyclerView?

🟡 Médios

  1. Adapter: O método onBindViewHolder é chamado muitas vezes. O que acontece se você colocar uma lógica pesada (ex: baixar uma imagem da internet de forma síncrona) dentro dele?
  2. ViewHolder: Para que serve a classe ViewHolder? Por que não devemos fazer findViewById direto no onBindViewHolder?

🔴 Desafio

  1. Múltiplos Tipos de View: Imagine um chat (WhatsApp). Mensagens enviadas ficam na direita (verde), recebidas na esquerda (branco).
    • Como você implementaria isso no RecyclerView? (Dica: pesquise sobre getItemViewType).

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Conceito **Resposta Comentada:** - **Fundamentação:** No contexto de **Listas Eficientes (RecyclerView)**, o conceito abordado (Conceito) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Componentes **Resolução e Implementação:**
// Estrutura de implementação recomendada para Componentes
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Listas Eficientes (RecyclerView)**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Adapter **Resposta Comentada:** - **Fundamentação:** No contexto de **Listas Eficientes (RecyclerView)**, o conceito abordado (Adapter) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: ViewHolder **Resposta Comentada:** - **Fundamentação:** No contexto de **Listas Eficientes (RecyclerView)**, o conceito abordado (ViewHolder) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Múltiplos Tipos de View **Resposta Comentada:** - **Fundamentação:** No contexto de **Listas Eficientes (RecyclerView)**, o conceito abordado (Múltiplos Tipos de View) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.