Répétition à chaque ouverture de mon appli android

Résolu
Bonsoir à tous

J'ai repris mon projet pour android sur mobile.
J'ai un problème de répétition des données à chaque ouverture de l'appli.
Je pensais palier à cette répétition mais je n'y arrive pas!

Un grand merci pour votre aide
rapidegoyes

Voici mon code qui engendre cela:
package com.example.CongelBahut1;

import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.database.Cursor;
import android.widget.Toast;


public class Affichage1 extends Activity {
    MaBaseSQLite bdd;
    Button enregistrer;
    Button affiche_data;

    public Affichage1() {
    }

    @Override
    //constructeur rempli
    public String toString() {
        return "Affichage1{}";
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.affichage1);
        enregistrer = (Button) findViewById(R.id.enregistrer);
        affiche_data = (Button) findViewById(R.id.affiche_data);
       // Ajoutdata();

        //Creation d'une instance de la classe GestionBDD(creer la Bdd)
        GestionBDD bddViandes = new GestionBDD( this);

        //On ouvre la base de donnees
        bddViandes.open();

        //Creation d'une ligne pour une viande
        Viandes decoupe = new Viandes("boeuf, cote, 2, HM");
        Viandes decoupe1 = new Viandes("veau, roulé, 2, BG");
        Viandes decoupe2 = new Viandes("poirreaux, coupé, 8, MG");

        // insertion d'une viande
        bddViandes.insertViandes(decoupe);
        bddViandes.insertViandes(decoupe1);
        bddViandes.insertViandes(decoupe2);

        bddViandes.removeViandesWithdID(decoupe.getId());

//*****************************Toast*******************************************************************************
      Viandes decoupePourBdd = bddViandes.getViandesWithTitre(decoupe.getType()); // pour affichage dans le toast

        if (decoupePourBdd != null)
        {
            Toast.makeText(this, decoupePourBdd.toString(), Toast.LENGTH_LONG).show();
        }
//*************************fin du Toast***************************************************************************
        //recuperation du listview present dans mon IHM
        ListView lv = this.findViewById(R.id.Afficheliste);

        Cursor data = bddViandes.crerColonne(); // appel méthode pour créer l'alias _id

        SimpleCursorAdapter adapter =
                new SimpleCursorAdapter(this, android.R.layout.simple_list_item_single_choice, data,
                        new  String[] {"TYPE"}, new int[] {android.R.id.text1});

        lv.setAdapter(adapter);


       


    } // fin oncreate

      

}// fin classe Affichage1

2 réponses

  1. Modérateur
    Hello,

    A chaque fois que tu affiches ton Activity, tu fais des insert() mais jamais de remove()
    1. Bonsoir,

      Tu as raison, le problème c'est que je veux conserver les données. J'aimerai simplement en rajouter pour garnir d'avantage ma BDD.
      Quel serait le meilleur moyen pour y parvenir?

      Merci cordialement rapidegoyes
  2. Modérateur
    Généralement, lorsque l'on veut afficher des données provenant d'une base, on fait comme suit :

    - récupération des données dans la base
    - si les données ne sont pas présentes
    - récupérer les données du serveur (pas adapté dans ton cas, a priori)
    - les insérer en base