1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
| public class MaBaseDD {
private static final int VERSION_BDD = 1;
private static final String NOM_BDD = "eleves.db";
private static final String TABLE_DEFI = "TABLE_DEFI";
private static final String COL_ID = "id";
private static final String COL_INTITULE = "intitule";
//Cette colonne sert a savoir si c'est moi qui ai rajouté les défis ( dans ce cas elle vaut 0 ) ou l'utilisateur ( elle vaut 1)
public static final String COL_DEFI_ORIGINE_UTILISATEUR = "personnel";
private static final int NUM_COL_INTITULE = 2;
private SQLiteDatabase bdd;
private MaBase maBaseSQLite;
public MaBaseDD (Context context){
//On créer la BDD et sa table
maBaseSQLite = new MaBase(context, NOM_BDD, null, VERSION_BDD);
}
public void open(){
//on ouvre la BDD en écriture
bdd = maBaseSQLite.getWritableDatabase();
}
public void close(){
//on ferme l'accès à la BDD
bdd.close();
}
public SQLiteDatabase getBDD(){
return bdd;
}
public long insertDefi(String defi){
//Création d'un ContentValues (fonctionne comme une HashMap)
ContentValues values = new ContentValues();
//on lui ajoute une valeur associé à une clé (qui est le nom de la colonne dans laquelle on veut mettre la valeur)
values.put(COL_INTITULE, defi);
//on insère l'objet dans la BDD via le ContentValues
return bdd.insert(TABLE_DEFI, null, values);
}
public long insertDefiPersonnel(String defi){
//Création d'un ContentValues (fonctionne comme une HashMap)
ContentValues values = new ContentValues();
//on lui ajoute une valeur associé à une clé (qui est le nom de la colonne dans laquelle on veut mettre la valeur) et on met 1 en origine personnel signifiant qu'il a été ajouté par l'utilisateur
values.put(COL_INTITULE, defi);
values.put(COL_DEFI_ORIGINE_UTILISATEUR, 1);
//on insère l'objet dans la BDD via le ContentValues
return bdd.insert(TABLE_DEFI, null, values);
}
public int removeDefiPosition (int id){
//Suppression d'un defi de la BDD grâce à l'ID
return bdd.delete(TABLE_DEFI, COL_ID + " = " +id, null);
}
public String getDefiPosition(int position){
//Récupère dans un Cursor le defi grâce à sa position
Cursor c = bdd.rawQuery("select " + COL_ID + " from " + TABLE_DEFI + " where intitule = ?", new String[]{""+position});
return cursorToString(c);
}
//Recuperer tout les défis crées par l'utilisateur ( donc avec 1 en colonne personnel )
public String getAllDefiPersonnel (){
//Récupère dans un Cursor le defi grâce à sa position
Cursor c = bdd.rawQuery("select " + COL_DEFI_ORIGINE_UTILISATEUR + " from " + TABLE_DEFI + " where personnel = ?", new String[]{"1"});
return cursorToString(c);
}
//Cette méthode permet de convertir un cursor en le défi correspondant
private String cursorToString(Cursor c){
//si aucun élément n'a été retourné dans la requête, on renvoie null
if (c.getCount() == 0)
return null;
//Sinon on se place sur le premier élément
c.moveToFirst();
//On récupere le defi
String defi = c.getString(NUM_COL_INTITULE);
//On ferme le cursor
c.close();
//On retourne le defi
return defi;
}
} |
Partager