Pular para o conteúdo principal

Questão de Arquitetura de Software — Arquitetura Cliente-Servidor — IF-PI 2026

Arquitetura de SoftwareArquitetura Cliente-Servidor
Código
qg709960
Banca
IF-PI
Órgão
IF-PI
Ano
2026
Nível
Superior
Cargo
Professor EBTT - Informática
Uma aplicação móvel é responsável por exibir informações de produtos obtidas a partir de uma API REST, permitindo que o usuário visualize os dados mesmo na ausência de conexão com a internet.Considerando as boas práticas de desenvolvimento móvel, bem como os mecanismos de persistência de dados e de comunicação cliente-servidor, assinale a alternativa CORRETA.
  1. AO mecanismo de SharedPreferences é a solução recomendada para o armazenamento de dados estruturados provenientes de APIs, devido à sua capacidade de gerenciar índices e relacionamentos complexos entre entidades.
  2. BA persistência local por meio de banco de dados, como o SQLite, permite armazenar dados estruturados obtidos da API REST, possibilitando o acesso às informações mesmo quando o dispositivo estiver offline.
  3. CO protocolo HTTP, por ser a base do consumo de APIs REST, implementa nativamente mecanismos de persistência em nível de aplicação que garantem a disponibilidade dos dados sem necessidade de lógica adicional de armazenamento.
  4. DA implementação de uma estratégia de cache local em banco de dados desonera o desenvolvedor da necessidade de sincronização periódica, uma vez que o dado persistido localmente mantém sua integridade em relação ao servidor de forma automática.
  5. EA arquitetura cliente-servidor em ambientes móveis pressupõe que dados dinâmicos sejam mantidos apenas em memória (RAM) durante o ciclo de vida da aplicação, visando preservar a vida útil do armazenamento físico do dispositivo.
Revelar gabarito e comentário

GabaritoB — A persistência local por meio de banco de dados, como o SQLite, permite armazenar dados estruturados obtidos da API REST, possibilitando o acesso às informações mesmo quando o dispositivo estiver offline.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Persistência local em aplicações móveis: SQLite e SharedPreferences

Gabarito: letra B. A persistência local por meio de banco de dados (SQLite) permite armazenar dados estruturados obtidos de uma API REST, garantindo acesso offline. As demais alternativas confundem mecanismos de armazenamento, protocolos ou omitem a necessidade de sincronização.

A banca testa o conhecimento sobre boas práticas de armazenamento de dados em dispositivos móveis, especialmente a diferença entre mecanismos simples (SharedPreferences) e bancos de dados relacionais (SQLite), além da compreensão de que o protocolo HTTP não oferece persistência e que cache local exige sincronização.

Persistência local em apps móveis
  • 1Mecanismos
    • SharedPreferences
      • Chave-valor
      • Dados simples (configurações)
      • Inadequado para dados estruturados
    • Banco de dados (SQLite/Room)
      • Dados estruturados
      • Consultas complexas
      • Acesso offline
  • 2Protocolo HTTP
    • Comunicação sem estado
    • Não implementa persistência
  • 3Cache local
    • Exige sincronização periódica
    • Dados podem ficar desatualizados
  • 4Armazenamento em RAM
    • Perde dados ao fechar o app
    • Não substitui persistência
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

SharedPreferences é um mecanismo de armazenamento chave-valor para dados simples (configurações, preferências). Não é adequado para dados estruturados complexos com índices e relacionamentos, como os provenientes de uma API REST. Para esses casos, recomenda-se banco de dados (SQLite, Room).

Alternativa B — ✅ Correta ⟵ GABARITO

Bancos de dados como o SQLite (ou bibliotecas como Room no Android) são projetados para armazenar dados estruturados, suportam consultas complexas e mantêm os dados mesmo quando o dispositivo está offline. Essa é a estratégia padrão para habilitar o modo offline em aplicações móveis que consomem APIs REST.

Alternativa C — ❌ Incorreta

O protocolo HTTP é um protocolo de comunicação sem estado. Ele não implementa mecanismos de persistência em nível de aplicação. A persistência deve ser implementada pelo desenvolvedor, usualmente com banco de dados local ou cache.

Alternativa D — ❌ Incorreta

Cache local em banco de dados não elimina a necessidade de sincronização periódica. Os dados persistidos localmente podem ficar desatualizados em relação ao servidor, exigindo lógica de sincronização para garantir integridade e consistência.

Alternativa E — ❌ Incorreta

Embora dados dinâmicos possam ficar em memória RAM durante o uso, mantê-los apenas em RAM não é uma boa prática, pois dados são perdidos ao fechar o app. Para suportar offline e preservar dados, é essencial utilizar armazenamento persistente (banco de dados, preferências, arquivos).

PEGA ESSA DICA!

Na prova, lembre-se: SharedPreferences = dados simples/chave-valor (ex.: preferências de usuário); SQLite/Room = dados estruturados/complexos (ex.: catálogo de produtos). Protocolo HTTP não armazena nada; cache local exige sincronização.

Link permanente: /questoes/qg709960