Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Lucas Aquiles
Roteiro
1.Introduo 2. SQLiteDatabase 3. ORM 4. ORMlite
1. dependencias (ormlite-core.jar, ormlite-android.jar) 2. configurao 3. Annotations 4. Annotations da JPA
Introduo
SQLiteDatabase
Utilizada para gerenciar banco de dados SQLite oferece metodos para criar, apagar e executar comandos SQL Realiza tarefas comuns em gerenciamento de banco de dados relacional Armazenado em:
/data/data/<package_name>/databases
ORM
Permite interagir de forma orientada a objetos com um banco de dados relacional Cada classe representa uma tabela no banco de dados Cada atributo dessa classe representa os campos da tablea Cada objeto instanciado representa uma linha que pode ser inserida na tabela
ORM
Hibernate
http://www.hibernate.org/
TopLink
http://www.oracle.com/technetwork/middleware/toplink/index-085257.html
ORMlite
fornece algumas simples e leves funcionalidade para persistir objetos Java para bancos de dados SQL, evitando a complexidade e a sobrecarga de mais pacotes padro ORM. http://ormlite.com/
ORMLite
Suporte nativo a chamadas para APIs de banco de dados SQLite do Android Permite o uso de Annotations da JPA, alm das prprias annotations do ORMlite para mapear as classes Permite relalizar relacionamento entre as classes Construir querys simples e complexas Uso de transactions
ORMLite
Annotations da JPA
ORMLite
Annotations do ORMlite
ORMlite
Dependncias
ormlite-android-4.22.jar ormlite-core-4.22.jar
Disponvel no
http://sourceforge.net/projects/ormlite/files/releases/com/j256/ormlite/
ORMlite
Configurao
Adicionar os jars do orm-lite-core.xxx.jar e ormlite-android.xxx.jar no buildpath da aplicao Criar uma classe que extenda de OrmLiteSqliteOpenHelper
Semelhante ao SQLOpenHelper Sobrescrever os mtodos onCreate, onUpdate e dentro desses mtodos criada ou atualizada as tabelas E passar um Context no construtor da classe
ORMLite
Dependncias
ORMLite
Annotations do ORMlite
@DatabaseTable @DatabaseField
Atributos
ORMLite
Annotations da JPA
@OneToOne @ManyToOne
ORMlite
OrmLiteSqliteOpenHelper
onCreate(SQLiteDatabase sqliteDatabase, ConnectionSource connectionSource) onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion)
Prover classes DAOs que podem ser usadas por outras classes Bem semelhante ao SQLiteOpenHelper, s que sem os comandos SQL
ORMLite
no onUpdate
ORMLite
ORMLiteBase...
Essas classes fornecem o mtodo getHelper() para fazer acesso auxiliar ao banco de dados
ORMLite
ORMLiteBase...
ORMlite
Alternativas ao ORMLiteBaseActivity
Fazendo chamadas pelo OpenHelperManager.getHelper(Context context, Class openHelperClass) Que retorna um Helper e no final da operao deve ser chamado o mtodo OpenHelperManager.release()
ORMLite
DAO<?,ID>
Cada DAO tem dois parmetros: uma a entidade e a outra a coluna ID usada pra especificar uma linha da tabela Criado atravs do DaoManager
ORMLite
DAO<?,ID>
queryForId(Id id) QueryForAll() create(T data) update(T data) delete(T data) queryRaw(String query) executeRaw(String statement) CountOf()
Aplicao de exemplo
Cadastro de produtos e categorias Um produto tem uma categoria e uma categoria tem vrios produtos