Comme petite fonctionnalité hautement inutile (et donc indispensable selon la formule consacrée) pour SRDice, j’avais envie de stocker les informations sur le nombre de Dés lancés, le nombre de succès, … bref, des Statistiques.
Où stocker l’info ? sur une base de donnée SQLite.
Un tuto très bien fais qui m’a servi d’inspiration : http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/
Une fois la fonctionnalité finalisée (pas de grande difficulté sur ce développement), je me suis posé une autre question :
Comment mettre sa base sur SDCard ? (Oui, mon Android a une mémoire disponible assez faible…)
Dans la class : public class SRDSQLiteHelper extends SQLiteOpenHelper
/** * Constructeur * @param context */ public SRDSQLiteHelper(Context context, String database_path) { super(context,database_path + DATABASE_NAME, null, DATABASE_VERSION); }
Dans les Activity, appel à la base :
private SRDSQLiteHelper _getDb() { String database_path = ""; if(mExternalStorageWriteable == true) { database_path = sdCard.getAbsolutePath() + "/" + DIR + "/"; } SRDSQLiteHelper _db = new SRDSQLiteHelper(this, database_path); return _db; }
Sachant que mExternalStorageWriteable est ma constante actant si la SDCard est inscriptible ou pas (Dans l’Etape 1 : vérifier que la carte SD est disponible pour ne proposer la fonctionnalité que dans ce cas) et que SDCard est ma constante contenant le chemin de la SDCard : elle vaut Environment.getExternalStorageDirectory().
[…] à la base de donnée SQLite et les méthodes de mise à jour de la base de donnée pour les […]
[…] Pour les statistiques, voir le billet suivant. […]