Bonjour,
J'ai une base donnée et une listView ou sont affiché les élément de la base donnée. J'ai mis dans la base de données des éléments initiaux au début,
mais quand je lance plusieurs fois mon application, les données initiaux sont ajouté alors qu'elle sont déjà contenu dans la base. Ce que je voudrais c'est que le programme ne duplique pas les données initiaux s'ils sont déjà contenu dans la base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class MainActivity extends ListActivity { ArrayList<Tache> liste_taches = new ArrayList<>(); AdaptateurPerso adapter ; int p; Tache_BDD t_bdd ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); t_bdd = new Tache_BDD(this.getApplicationContext(),"Tache_BDD",null,1) ; // Création de la bas de donnée t_bdd.sauvegardeTache(new Tache("Cours de programmation",4)); // t_bdd.sauvegardeTache(new Tache("Entraînement de natation",3)); // Insertion des t_bdd.sauvegardeTache(new Tache("Faire une sieste",2)); // taches initiaux t_bdd.sauvegardeTache(new Tache("Prendre une douche",0)); // t_bdd.sauvegardeTache(new Tache("Ecouter des infos",1)); // liste_taches = t_bdd.getAllTache(); // Récupération de tous les éléments Log.d("TAG_CREATION"," "+ liste_taches); adapter = new AdaptateurPerso(this,liste_taches); setListAdapter(adapter); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class Tache { String titre ; int priorite ; int imgPiorite; Long id; public Tache (String unTitre, int unePriorite) { this.titre = unTitre; this.priorite = unePriorite; } /* public String getTitre() { return titre; } //public void setTitre(String titre) { this.titre = titre; }*/ public int getPriorite() { return priorite; } //public void setPriorite(int priorite) { this.priorite = priorite; }*/ public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Override public String toString() { return "Tache{" + "titre='" + titre + '\'' + ", priorite=" + priorite + ", id=" + id + '}'; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public void sauvegardeTache(Tache t) { ContentValues cv = new ContentValues(); cv.put(COL_TITRE,t.titre); cv.put(COL_PRIORITE,t.priorite); Long id = t.getId(); if (id == null) { // Création id = this.getWritableDatabase().insert(TABLE_TACHE,null,cv); t.setId(id); } else { //Modification this.getWritableDatabase().update( TABLE_TACHE, cv, COL_ID + " = ? ", new String[] {String.valueOf(id)}); } }
Partager