Por que eu devo ler este artigo:Este artigo tem por finalidade apresentar a biblioteca Sugar ORM, que abstrai o acesso ao banco de dados SQLite e implementa a técnica de mapeamento objeto relacional, tornando simples a tarefa de manipular dados de forma persistente. Desenvolver aplicações com Sugar ORM pode ser útil para aqueles que precisem persistir informações em banco de dados local e desejem usufruir do modelo ORM, não necessitando utilizar SQL para criação e manuseio de tabelas.
Autores: Eduardo Carneiro e Josias Paes

As aplicações Android necessitam persistir grandes quantidades de dados nos dispositivos. Quando estes dados são estruturados (por exemplo, as informações de um contato com números telefônicos e endereço), é ideal a utilização de banco de dados.

O Android suporta nativamente o SQLite, um banco de dados mínimo, relacional, adequado para o uso em sistemas embarcados e que não necessita de configuração. A biblioteca disponível no SDK conta com as classes necessárias para permitir a execução de comandos em SQL, a manipulação de um banco, a inserção, a atualização e a exclusão de registros das tabelas, porém todo o mapeamento dos objetos para os registros das tabelas e dos registros para os objetos é de responsabilidade do programador. Visando reduzir a quantidade de código que deve ser escrita para execução das operações básicas em um banco de dados como obter ou salvar os dados de um objeto na tabela correspondente, os programadores podem tomar a decisão de utilizar a técnica de mapeamento objeto relacional.

Mapeamento objeto relacional (ORM, do inglês Object-Relational Mapping) é uma técnica de programação que cria uma abstração de banco de dados orientado a objeto sobre um banco de dados relacional, como ilustrado na Figura 1. Essa técnica permite que o programador persista os objetos das suas classes da camada de modelo (classes POJO) sem a necessidade de escrever comandos em SQL e de converter manualmente os atributos dos objetos em colunas das tabelas. Resumidamente, uma classe será uma representação de uma tabela do seu banco de dados onde os atributos da classe (não necessariamente todos) representarão suas colunas.

Para o Android existem algumas bibliotecas ORM disponíveis e bastante utilizadas no mercado. Dentre elas destacam-se Green DAO, ORMLite, ActiveAndroid e Sugar ORM.

Especificamente, o Sugar ORM é uma biblioteca ORM para Android projetada e mantida por um desenvolvedor chamado Satya Narayan (veja a seção Links). No momento da elaboração deste artigo, o projeto totalizava 32 colaborações em um universo de 270 repositórios originados a partir do Sugar ORM no GitHub.

O objetivo deste artigo é apresentar o Sugar ORM abordando desde a sua instalação até um benchmark comparativo com outras bibliotecas escritas com a mesma finalidade.

Figura 1. Mapeamento objeto relacional.

Instalação

Para instalar a biblioteca Sugar ORM em um projeto no Android Studio, é necessário apenas adicionar a linha apresentada ao final da Listagem 1 ao arquivo build.gradle, do módulo app, na seção dependencies. É possível encontrar o arquivo build.gradle na área Gradle Script da estrutura do seu projeto.

Listagem 1. Dependência do Sugar ORM.

apply plugin: 'com.android.application'
  android {
      compileSdkVersion 21
      buildToolsVersion "21.1.2"
   
      defaultConfig {
          applicationId "SEU_PACOTE"
          minSdkVersion 15
          targetSdkVersion 21
          versionCode 1
          versionName "1.0"
      }
      buildTypes {
          release {
              minifyEnabled false
              proguardFiles
  getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
  }
   
  dependencies {
      compile fileTree(dir: 'libs', include: ['*.jar'])
      compile 'com.android.support:appcompat-v7:21.0.3'
      compile 'com.android.support:recyclerview-v7:21.0.3'
      compile 'com.android.support:cardview-v7:21.0.3'
      compile 'com.github.satyan:sugar:1.4'
  }

Após incluir a última linha do código, devemos sincronizar os arquivos do Gradle acessando o menu Tools > Android > Sync Project with Gradle Files. Caso seja utilizada outra IDE, como o Eclipse, é possível baixar o arquivo JAR da biblioteca e adiciona-lo ao projeto (acesse Sugar ORM Releases na seção Links). A partir daqui a biblioteca já está disponível e pronta para ser configurada.

Configuração

Para configurar o Sugar ORM para utilização, é necessário apenas alterar o arquivo AndroidManifest.xml, especificando a classe SugarApp como a classe da aplicação conforme pode ser visto na Listagem 2. Opcionalmente, quatro tags de metadados podem ...

Quer ler esse conteúdo completo? Tenha acesso completo