Questão de Arquitetura de Software — Arquitetura Cliente-Servidor — IF-PI 2026
Arquitetura de Software›Arquitetura 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.
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.
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.
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.
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.
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.