Exemplo do Room: Aplicativo de listas de compras

Tempo de leitura: 3 minutes

Neste artigo, você verá o exemplo do Room que tomamos como referência no guia Um aplicativo Android simples que lida com listas de compras e seus itens.

Explicaremos as características, o modelo relacional do banco de dados e a estrutura do pacote no Android Studio. E então, forneceremos o link para baixar o projeto.

Características

O aplicativo da lista de compras consiste em três atividades:

  • Atividade para listas de compras
  • Atividade para criar listas de compras
  • Atividade para edição de lista de compras.

As seguintes funcionalidades são derivadas deles.

Listas de compras

Esta é a população de uma lista com todas as listas de compras existentes no banco de dados. Você pode filtrar por categorias.

Criar listas de compras

Pressionar o FAB inicia uma atividade que permite digitar o nome da lista de compras. Por conveniência, os itens, informações adicionais e colaboradores da lista são gerados automaticamente nesta instância.

Marcar listas como favoritas

As listas podem ser marcadas como favoritas clicando no botão do ícone de estrela.

Editar listas de compras

A atividade de edição da lista de compras é iniciada quando clicada. Para simplificar, itens pré-fabricados são adicionados na edição.

Excluir uma lista de compras

Ao pressionar o botão com o ícone da lixeira, as listas são excluídas individualmente.

Você também pode limpar itens da barra de ferramentas pressionando o botão “Remover tudo” no menu flutuante.

 

Banco de dados SQLite

O exemplo Room contém as seguintes tabelas em seu banco de dados:

  • shopping_list: armazena os dados das listas de compras
  • item: armazena os dados dos itens que são adicionados às listas de compras
  • info: representa informações adicionais das listas de compras
  • colaborador: salva os dados das pessoas que colaboram na edição de uma lista
  • shopping_list_item: tabela de referência cruzada entre shopping_list e item.

O diagrama a seguir ilustra as colunas em cada tabela e seus relacionamentos:

Obs: (Texto em Espanhol, pois meu editor de Entidade, não funcionou. Explicação de um curso em Espanhol com mesmo diagrama.)

 

Estrutura do pacote

Criamos um pacote para cada recurso associado a uma tela. Como este exemplo de sala é simples, usamos um único módulo (app).

Vejamos o objetivo de cada um:

  • addshoppinglist: contém os componentes da atividade de criação da lista
  • data: Contém as classes associadas à camada de dados como: DAOs, entidades, POJOs parciais, visualizações, etc.
  • editshoppinglist: Pacote para atividade e modelo de visualização de edição
  • shoppinglist: Contém a atividade e o modelo de visualização da lista de listas de compras.
    Baixar Exemplo de Sala

Você pode baixar o projeto do Android Studio para o aplicativo de listas de compras no seguinte link:

<ShoppingListRoom>