O documento discute o uso de bibliotecas populares para Android como GreenDAO, EventBus, Crouton e Android Annotations. Ele fornece uma introdução a cada biblioteca, incluindo seus principais recursos e empresas que as usam, como Facebook e Pinterest. O documento também mostra exemplos de código para ilustrar o uso dessas bibliotecas.
Da introdução à prática com Drools Expert e Drools Flow
Minicurso sobre AndroidAnnotations, GreenDAO, EventBus e Crouton
1. Na prática com Android Annotations,
GreenDAO, EventBus e Crouton.
2. 1. Conhecimento intermediário em Java;
2. Conhecimento básico em Android (configurar o ambiente
de desenvolvimento / Android SDK / Android AVD,
construir e executar um app do tipo HelloWorld);
3. Para notebooks pessoais, preparar o ambiente de
desenvolvimento.
3. 1. Saber clonar um repositório Git do GitHub (git clone);
2. Saber trocar de branch’s com Git (git checkout);
5. 1. Configurar o ambiente de desenvolvimento;
2. Iniciar um projeto do zero;
6. 1. Configurar o ambiente de desenvolvimento;
2. Iniciar um projeto do zero;
3. Comandos do Git;
7. 1. Configurar o ambiente de desenvolvimento;
2. Iniciar um projeto do zero;
3. Comandos do Git;
4. Customizar estilos;
8. 1. Configurar o ambiente de desenvolvimento;
2. Iniciar um projeto do zero;
3. Comandos do Git;
4. Customizar estilos;
5. Boas práticas de programação;
9. 1. Configurar o ambiente de desenvolvimento;
2. Iniciar um projeto do zero;
3. Comandos do Git;
4. Customizar estilos;
5. Boas práticas de programação;
6. Ferramentas de build (Gradle ou Maven).
19. GreenDAO
● Framework open-source;
● Facilita a comunicação com SQLite;
● API simples;
20. GreenDAO
● Framework open-source;
● Facilita a comunicação com SQLite;
● API simples;
● Otimizado para Android;
21. GreenDAO
● Framework open-source;
● Facilita a comunicação com SQLite;
● API simples;
● Otimizado para Android;
● Consumo mínimo de memória;
22. GreenDAO
● Framework open-source;
● Facilita a comunicação com SQLite;
● API simples;
● Otimizado para Android;
● Consumo mínimo de memória;
● Biblioteca pequena (menos de 100k);
23. GreenDAO
● Framework open-source;
● Facilita a comunicação com SQLite;
● API simples;
● Otimizado para Android;
● Consumo mínimo de memória;
● Biblioteca pequena (menos de 100k);
● Disponibiliza um gerador de código;
24. GreenDAO
● Framework open-source;
● Facilita a comunicação com SQLite;
● API simples;
● Otimizado para Android;
● Consumo mínimo de memória;
● Biblioteca pequena (menos de 100k);
● Disponibiliza um gerador de código;
● Camera360 (+50.000.000), Pinterest (+10.000.000),
ICQ (+10.000.000), etc.
25. public static void main(String[] args) throws Exception {
Schema schema = new Schema(1, "br.com.ricardolonga.todo");
Entity item = schema.addEntity("Item");
item.addIdProperty();
item.addStringProperty("title").notNull();
new DaoGenerator().generateAll(schema, "../todo/src-gen");
} DaoGenerator.java
Resultado...
Processing schema version 1...
Written /home/longa/dev/workspace/todo/src-gen/br/com/ricardolonga/todo/ItemDao.java
Written /home/longa/dev/workspace/todo/src-gen/br/com/ricardolonga/todo/Item.java
Written /home/longa/dev/workspace/todo/src-gen/br/com/ricardolonga/todo/DaoMaster.java
Written /home/longa/dev/workspace/todo/src-gen/br/com/ricardolonga/todo/DaoSession.java
Processed 1 entities in 113ms
26. DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "todo", null);
SQLiteDatabase db = helper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(db);
DaoSession daoSession = daoMaster.newSession();
ItemDao itemDao = daoSession.getItemDao();
Obtendo o ItemDao...
Item item = new Item(null, itemTitle);
itemDao.insert(item);
itemDao.deleteAll();
itemDao.deleteByKey(id);
Exemplos...
43. AndroidAnnotations
● Framework open-source;
● Simplifica a codificação (reduz boilerplate);
● Facilita a manutenção;
● Permite a injeção de dependências (views,
resources, system services, etc);
44. AndroidAnnotations
● Framework open-source;
● Simplifica a codificação (reduz boilerplate);
● Facilita a manutenção;
● Permite a injeção de dependências (views,
resources, system services, etc);
● Facilita o trabalho com threads;
46. AndroidAnnotations
● Event binding, sem mais listeners anônimos;
● Rest client através da criação de interfaces
(o framework irá implementar as interfaces);
47. AndroidAnnotations
● Event binding, sem mais listeners anônimos;
● Rest client através da criação de interfaces
(o framework irá implementar as interfaces);
● Não impacta na performance em runtime;
48. AndroidAnnotations
● Event binding, sem mais listeners anônimos;
● Rest client através da criação de interfaces
(o framework irá implementar as interfaces);
● Não impacta na performance em runtime;
● Tudo isso com menos de 50kb;
49. AndroidAnnotations
● Event binding, sem mais listeners anônimos;
● Rest client através da criação de interfaces
(o framework irá implementar as interfaces);
● Não impacta na performance em runtime;
● Tudo isso com menos de 50kb;
● Call of Duty (+1.000.000), Magic Piano by Smule
(+10.000.000), etc.