
635.1/PROGRAMMATION
Accèsàlabasededonnées
PeterDaehne1/2Version1.918.11.2014
1.Basededonnées
BaseSQLiteintégréeàAndroidvoirwww.sqlite.com.UnebasededonnéesSQLiteest
intégralementstockéedansunseulfichier.
Unebasededonnéesn’estaccessiblequeparl’applicationquilacrée;l’accèspard’autres
applicationspeutêtreimplantéparlacréationdefournisseursdecontenuoudeservices.
Labasededonnéeseststockéedans:/data/data/<package>/databases/<nombase>
Exemple:/data/data/pd.a14.base.bd/databases/GestionBD.db
Ilestpossibled’examinerunebasededonnéesenmodedecommandeendémarrantunshellsur
l’émulateur:adbshell;labasededonnéespeutensuiteêtreexaminéeaumoyendel’outil
sqlite3:sqlite3<chemincompletbase>.
Voiraussiladocumentation:http://developer.android.com/tools/help/adb.html#sqlite.
LepluginSQLiteManagerpourFireFoxpermetdegérerunebaseSQLite.Pouremployercet
outil,vousdevezd’abordrecopierlefichiersousWindowsaumoyendelacommande:adbpull
<chemincompletbase><chemincompletwindows>.
LepluginCellObjectSQLitepourEclipsepermetd’examinerlecontenud’unebasede
l’émulateur:
http://campus.hesge.ch/Daehne/Software/CellObjectSQLite/net.cellobject.sqlitexmlbrowser_1.2.0.zip
Remarque:aucunedecestroisstratégiesnepeutêtreappliquéeàuntéléphonequin’estpas
rooté(maisellepeuventbiensûrêtreappliquéesavecl’émulateur).
2.Illustration
OngèreunebasededonnéesdeprêtdeBDdontvoicilemodèlephysique:
Lacréationetlamiseàjourd’unebasededonnéessontgéréesparuneclassedérivéede
android.database.sqlite.SQLiteOpenHelper.
Ils’agitd’uneclasseabstraiteaveclaplupartdesesméthodesimplantéespourlaquelleilfaut
définirlesméthodesabstraites:
- onCreate():appeléeparlasystèmelorsquelabasen’existepas.
- onUpgrade():appeléeparlesystèmelorsquelaversiondelabaseachangé.
Oncréeuneinstancedecetteclasseetonappelle:
- getWritableDatabase():ouverturedelabaseenlecture/écriture.
- getReadableDatabase():ouverturedelabaseenlectureseule.
- close():fermeturedelabase.
Cesméthodesretournentuneinstancedelaclassequimodéliselabasededonnées:
- android.database.sqlite.SQLiteDatabase.

PeterDaehne2/2Version1.918.11.2014
3.Architectureetméthodes
LesméthodesrawQuery()etexecSQL()deSQLiteDataBasepermettentd’envoyer
n’importequellerequêteSQLexpriméesouslaformed’unStringàlabasededonnées.
PourlesrequêtesduCRUD,ilfautleurpréférerlesméthodesinsert(),query(),update()et
delete()quiformentunecouched’abstractionaudessusduSQLetpourlesquellesiln’yadonc
aucunrisquequ’uneerreurdesyntaxeSQLneseproduise.
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !