SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Android Pro
SQL Day
– Test Android
“Avem o aplicatie de TODO si vrem sa
persistam datele. Cum preferi sa faci acest
lucru?”
Helper extend SQLiteOpenHelper
- creaza baza de date
- migreaza baza de date
- getWritableDatabase
- getReadableDatabase
SQLiteDatabase
- operatii CRUD
- insert()
- query()
- update()
- delete()
- …
DataSource
- metode specializate aplicate pe
SQLiteDatabase
- folosit in activitate
Google “Vogella SQL Tutorial”
Alternative?
ORMLite
- Java, nu numai Android
- Adnotari
- Boilerplate
- Foarte permisiv
Helper extends OrmLiteSqliteOpenHelper
- creare si migrare
- TableUtils.createTable
- TableUtils.dropTable
//connectionSource
new AndroidConnectionSource(sqliteOpenHelper);
//toDoDao
BaseDaoImpl.createDao(connectionSource, ToDo.class);
//List<ToDo>
List<ToDo> toDo = toDoDao.queryForAll(name);
@DatabaseTable(tableName = "todos")
class ToDo{
@DatabaseField(canBeNull = false)
private String text;
}
Google “ORMLite Sample”.
Este foarte mult boilerplate pe care nu aveti cum sa il
invatati altfel
greenDAO
- Cod generat
- Scriem cod pentru codul generat
- Foarte rapid
- Boilerplate
Generam cod
Schema schema = new Schema(1, “my.name.space”);
Entity todos = schema.addEntity("Project");
todos.addStringProperty(“text").notNull();
new DaoGenerator().generateAll(schema, "../../../
Example/src-gen")
DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "todos-db", null);
db = helper.getWritableDatabase();
daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
todoDao = daoSession.getNoteDao();
…
todoDao.insert(todo);
sugarORM
- fara boilerplate
- relatii automate
- extrem de simplu
- Application + Manifest
public class ToDo extends SugarRecord<ToDo> {
String text;
public ToDo() {
}
public ToDo(String text) {
this.text = text;
}
}
ToDo unu = new ToDo(context, “unu”);
unu.save();
Alte optiuni, poate chiar mai bune
- ActiveAndroid
- Ollie
- Realm
- Schematic
Work
Daca folositi SQL pe Android pentru
prima oara, folositi SQL normal, fara
nimic. Va ajuta sa intelegeti.
Level 1:
- Aplicatie de TODO cu ADD, REMOVE.
Level 2:
- Adaptorul listei sa utilizeze un cursor
Level 3:
- Faceti o legatura one-to-many intre todo si persoane. Un todo
poate avea mai multe persoane.
- Sa nu aveti nimic costisitor pe threadul UI
Realm special: Faceti ca interogarile sa se intample pe alt thread.

Más contenido relacionado

Más de Diaconu Andrei-Tudor

Performance tools Droidcon Eastern Europe
Performance tools Droidcon Eastern EuropePerformance tools Droidcon Eastern Europe
Performance tools Droidcon Eastern EuropeDiaconu Andrei-Tudor
 
FiiPractic 2015 - Adroid Pro - Day 7 - Follow-up Day
FiiPractic 2015 - Adroid Pro - Day 7 - Follow-up DayFiiPractic 2015 - Adroid Pro - Day 7 - Follow-up Day
FiiPractic 2015 - Adroid Pro - Day 7 - Follow-up DayDiaconu Andrei-Tudor
 
FiiPractic 2015 - Adroid Pro - Day 3 - API Day
FiiPractic 2015 - Adroid Pro - Day 3 - API DayFiiPractic 2015 - Adroid Pro - Day 3 - API Day
FiiPractic 2015 - Adroid Pro - Day 3 - API DayDiaconu Andrei-Tudor
 
FiiPractic 2015 - Adroid Pro - Day 1 - UI Day
FiiPractic 2015 - Adroid Pro - Day 1 - UI DayFiiPractic 2015 - Adroid Pro - Day 1 - UI Day
FiiPractic 2015 - Adroid Pro - Day 1 - UI DayDiaconu Andrei-Tudor
 

Más de Diaconu Andrei-Tudor (7)

ListView vs RecyclerView
ListView vs RecyclerViewListView vs RecyclerView
ListView vs RecyclerView
 
Mobile testing in the cloud
Mobile testing in the cloudMobile testing in the cloud
Mobile testing in the cloud
 
Prezentarea ta mai buna
Prezentarea ta mai bunaPrezentarea ta mai buna
Prezentarea ta mai buna
 
Performance tools Droidcon Eastern Europe
Performance tools Droidcon Eastern EuropePerformance tools Droidcon Eastern Europe
Performance tools Droidcon Eastern Europe
 
FiiPractic 2015 - Adroid Pro - Day 7 - Follow-up Day
FiiPractic 2015 - Adroid Pro - Day 7 - Follow-up DayFiiPractic 2015 - Adroid Pro - Day 7 - Follow-up Day
FiiPractic 2015 - Adroid Pro - Day 7 - Follow-up Day
 
FiiPractic 2015 - Adroid Pro - Day 3 - API Day
FiiPractic 2015 - Adroid Pro - Day 3 - API DayFiiPractic 2015 - Adroid Pro - Day 3 - API Day
FiiPractic 2015 - Adroid Pro - Day 3 - API Day
 
FiiPractic 2015 - Adroid Pro - Day 1 - UI Day
FiiPractic 2015 - Adroid Pro - Day 1 - UI DayFiiPractic 2015 - Adroid Pro - Day 1 - UI Day
FiiPractic 2015 - Adroid Pro - Day 1 - UI Day
 

FiiPractic 2015 - Adroid Pro - Day 5 - SQL Day