Alex Manoel Coelho1, Cristhian Heck2
1Aluno 7ª fase do Curso de Ciência da Computação do Instituto Federal Catarinense - Campus Rio do Sul
2Professor de Ensino Superior do Instituto Federal Catarinense - Campus Rio do Sul
Banco de Dados Orientado a Objetos para Aplicações Android - ORMLite
1. Banco de Dados Orientado a Objetos
para Aplicações Android - ORMLite
Alex Manoel Coelho1, Cristhian Heck2
1Aluno 7ª fase do Curso de Ciência da Computação do Instituto Federal
Catarinense - Campus Rio do Sul
2Professor de Ensino Superior do Instituto Federal Catarinense - Campus Rio
do Sul
2. ORMLite
• É um dos vários bancos de dados orientados a objetos (BDOO);
• O motivo da escolha, é porque facilita a implementação do software e
também tende a apresentar na maioria dos casos, um desempenho
melhor, quando comparado a um banco de dados relacional.
• Além de facilitar e agilizar o desenvolvimento.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 2
4. Persistindo a classe disciplina
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 4
5. Persistindo a classe estudante
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 5
6. Modelo de Entidades e Relacionamentos
(MER)
• Desta forma, indicando para o ORMLite que um estudante poderá
estar em várias disciplinas, e em uma disciplina poderá ter apenas um
estudante.
• De fato, na realidade não é isso o que acontece, para este caso teria
que ser uma relação muitos para muitos, onde um estudante poderá
estar em várias disciplinas, e uma disciplina poderá ter vários
estudantes.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 6
8. Classes DAO
• Como o framework trabalha com o padrão Data Access Object (DAO).
Após ter criado a classe da conexão, é preciso criar as classes DAO de
cada entidade envolvida no projeto.
• DAO é um padrão de projeto que abstraí e encapsula os mecanismos
de acesso a dados, escondendo os detalhes da execução ao originar
dos dados. (MORENO; SILANS, 2009).
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 8
11. Operações com o banco de dados
• Na explicação das operações no BD, será utilizado uma Activity,
contendo as variáveis que estão no próximo slide;
• Activity é um módulo único e independente que está relacionada com
uma tela de interface de usuário e suas funcionalidades
correspondentes. (Android Developers, 2017).
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 11
12. Variáveis
• Dando destaque apenas as linhas 20, 21 e 22, que conforme pode ser
visto na Figura 7, instanciam as classes “DatabaseHelper”,
“EstudanteDAO” e “DisciplinaDAO”, respectivamente. E na linha 23
temos um ArrayList que guardará uma lista de estudantes.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 12
13. Chamando a conexão
• Para todas as operações no BD, como inserções, consultas, alterações,
logicamente será preciso ter uma conexão, e conforme ilustrado na
figura abaixo, pode ser feita da seguinte forma.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 13
15. CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017)
12:38
Estudante
Código
Nome Disciplina
Cadastro Disciplina
Salvar Cancelar
16. Selecionado os registros
• Na linha 67, podemos perceber o uso do método queryForAll,
responsável por pegar todos os registros de uma determinada
entidade.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 16
17. Outra forma de consultar dados
• Na linha 81 pode-se notar o Script SQL que foi passado através do
método queryRaw, por sua vez este método exige a criação de um
método construtor (linha 86 e 87), que recebe como parâmetro um
array de campos (atributos), e um array dos valores de seus
respectivos campos. Para percorrer todos os registros encontrados,
pode ser utilizado iterações, de acordo com a linha 91.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 17
21. Referências
• Elmasri, R. e Navathe S. B. Sistemas de Banco de Dados. 6 a edição. Editora Addison-
Wesley, (2011).
• Mansueli, V. A. P. (2016) Bancos de Dados Orientados a Objetos - SQL Magazine 78.
Disponível em: <http://www.devmedia.com.br/bancos-de-dados-orientados-a-objetos-
sql-magazine-78/17717>. Acesso em: 23 maio 2017.
• SQLite (2017). Site oficial do SQLite. Disponível em: <http://www.sqlite.org/>. Acesso
em: 23 maio 2017.
• Moreno, Bruno Neiva; Silans, Alain Passerat De. Implementação de um sistema de
informação para tratamento dos dados do BEER. João Pessoa-PB, 2009.
• Neto, José Dijon de O.; Maia, Iverton P. L.; Lemos, Emilio C. L.; Castro, Angélica Félix de.
Análise comparativa de desempenho de aplicação Android com persistência em Banco
de Dados Relacional e Banco de Dados Orientado a Objetos. Mossoró – RN, 2017.
• Watson, Gray. (2016). ORMLite Package. Disponível em:
<http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite.html>. Acesso em: 31 maio
2017.
CONGRESSO CATARINENSE DE CIÊNCIA DA COMPUTAÇÃO - IFC CAMPUS RIO DO SUL (2017) 32