IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

Comment faire un ajout dans ma base de donnée SQLite suite à un click sur un bouton ?


Sujet :

Composants graphiques Android

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Points : 12
    Points
    12
    Par défaut Comment faire un ajout dans ma base de donnée SQLite suite à un click sur un bouton ?
    Bonsoir à tous,

    Après avoir suivit le tutoriel suivant Comment utiliser SQLite sous Android, je me demande comment faire la même chose mais pas dès le lancement de l'activité mais suite à un click sur un bouton.
    Avec ce tutoriel il faut mettre toutes les actions d'ajout, de modification etc... dans le onCreate et cela ne me permet pas de faire en sorte qu'un ajout, qu'une modification... soit fait suite à un click sur un bouton.
    Je vous mets un morceau de code en vous indiquant ou je souhaiterais plutôt que la même action se fasse :
    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
     
    ...
      double total = 0; //mon programme fait un calcule et stock la valeur dans total et c'est cette valeur que je souhaiterais sauvegarder lorsque je cliquerai sur le bouton Save Data
     
    	    public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
    	        setContentView(R.layout.calculate);
    	        ...
     
    	        saveButton = (Button) findViewById(R.id.save);
    	        saveButton.setOnClickListener(saveButtonListener);
    	       ...
     
    	    	/** Quand je mets la database ici ça marche mais ça s'execute automatiquement */
    	        DatasBDD dataBdd = new DatasBDD(this);
    	        Data data = new Data("123456789", total);
    		dataBdd.insertData(data);
    		 Data dataFromBdd = dataBdd.getDataWithTotalEnergy(data.getTotalEnergy());
    		    Toast.makeText(this, dataFromBdd.toString(), Toast.LENGTH_LONG).show();
    		    dataBdd.close();
    }
    ...
    ...
    ...
    	    private OnClickListener saveButtonListener = new OnClickListener(){
    	    	public void onClick(View v){
    	    		if(total == 0){
    	    			Toast.makeText(CalculateTotEnExp.this, "Total vaut toujours 0, pour sauvegarder une donnée il faut faire ton calcule avant.", Toast.LENGTH_SHORT).show();
    	    		}
    	    		else{
    	    	        //j'aimerai que l'action dans la base de donnée ce fasse maintenant et que je puisse ajouter la valeur total à ma base.
    	    		}
    	    	}
    ...
    Voilà, j'espère que quelqu'un pourra m'aider parce que je galère. Peut-être que le tutoriel n'est pas adapté à ce que je veux faire ? En tout cas j'ai bien suivit les étapes et j'ai adapté à mon code et tout marche avec les toast. Donc reste à savoir comment faire pour que cela se déclenche suite à une action de l'utilisateur et non pas au lancement de l'activité.

    Merci d'avance.

  2. #2
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    [QUOTE=xgr8;5635008]Bonsoir à tous,


    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
    38
     
     
    	    public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
    	        setContentView(R.layout.calculate);
    	        ...
     
    	        saveButton = (Button) findViewById(R.id.save);
    	        saveButton.setOnClickListener(saveButtonListener);
    	       ...
     
    	    	/** Quand je mets la database ici ça marche mais ça s'execute automatiquement */
    	        DatasBDD dataBdd = new DatasBDD(this);
    	        Data data = new Data("123456789", total);
    		dataBdd.insertData(data);
    		 Data dataFromBdd = dataBdd.getDataWithTotalEnergy(data.getTotalEnergy());
    		    Toast.makeText(this, dataFromBdd.toString(), Toast.LENGTH_LONG).show();
    		    dataBdd.close();
    }
    ...
    ...
    ...
    	    private OnClickListener saveButtonListener = new OnClickListener(){
    	    	public void onClick(View v){
    	    		if(total == 0){
    	    			Toast.makeText(CalculateTotEnExp.this, "Total vaut toujours 0, pour sauvegarder une donnée il faut faire ton calcule avant.", Toast.LENGTH_SHORT).show();
    	    		}
    	    		else{
     
     DatasBDD dataBdd = new DatasBDD(v.getContext());
    	        Data data = new Data("123456789", total);
    		dataBdd.insertData(data);
    		 Data dataFromBdd = dataBdd.getDataWithTotalEnergy(data.getTotalEnergy());
    		    Toast.makeText(v.getContext(), dataFromBdd.toString(), Toast.LENGTH_LONG).show();
    		    dataBdd.close();
    	    		}
    	    	}
    ...

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Points : 12
    Points
    12
    Par défaut
    Merci de la réponde. Alors j'ai plus d'erreur grâce à ce bout de code dans eclipse par contre quand je clique sur mon bouton save data j'ai un message d'erreur qui arrive (the application has stopped unexpectly)..
    Une idée ? je me suis rendu compte que dans mon code précédent je n'ouvrai pas la base de donnée mais c'est chose résolu. Par contre ça ne marche toujours pas. Une idée ?

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Points : 12
    Points
    12
    Par défaut C'est bon
    C'est bon j'ai trouvé un autre tutoriel très bien et qui fonctionne exactement avec ce que j'ai besoin de faire. Pour ceux que ça intéresse : anotherandroidblog.com

    Bonne chance !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2015, 16h28
  2. [XL-2010] comment faire des insert dans une base access sans avoir access
    Par Poulki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/08/2012, 07h45
  3. Réponses: 0
    Dernier message: 26/01/2011, 13h01
  4. Réponses: 6
    Dernier message: 14/11/2008, 19h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo