Aller au contenu

Ma calculette approche déclarative/programmatique


olivier97360

Recommended Posts

Voici mes sources:

Approche programmatique:

package com.oliviernouguier.android.calculette;

import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
import android.view.View;
import android.widget.*;


public class calcul extends Activity {
   /** Called when the activity is first created. */
    private TextView textv1, textv2, toperation, tresultat;
    private LinearLayout layout;
    private EditText etext1, etext2, eresultat;
    private Button buttplus, buttmoins, buttmulti, buttdiv;
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       Init();
       Draw();


   }
       public void Init()
       {
       layout = new LinearLayout(this);
       layout.setOrientation(LinearLayout.VERTICAL);


       textv1 = new TextView(this);
       textv1.setText("Entrez un nombre:");

       textv2 = new TextView(this);
       textv2.setText("Entrez un deuxième nombre:");

       etext1 = new EditText(this);
       etext1.setText("");

       etext2 = new EditText(this);
       etext2.setText("");

       buttplus = new Button(this);
       buttplus.setText("+");
       buttplus.setClickable(true);
       buttplus.setOnClickListener(new View.OnClickListener() {
           public void onClick(View v) {
               Buttplus();
           }
       });


       buttmoins = new Button(this);
       buttmoins.setText("-");
       buttmoins.setClickable(true);
       buttmoins.setOnClickListener(new View.OnClickListener() {
           public void onClick(View v) {
               Buttmoins();
           }
       });


       buttmulti = new Button(this);
       buttmulti.setText("*");
       buttmulti.setClickable(true);
       buttmulti.setOnClickListener(new View.OnClickListener() {
           public void onClick(View v) {
               Buttmulti();
           }
       });


       buttdiv = new Button(this);
       buttdiv.setText("/");
       buttdiv.setClickable(true);
       buttdiv.setOnClickListener(new View.OnClickListener() {
           public void onClick(View v) {
               Buttdiv();
           }
       });

       tresultat = new TextView(this);
       tresultat.setText("Résultat:");

       eresultat = new EditText(this);
       eresultat.setText("");

       toperation = new TextView(this);
       toperation.setText("Opération");
       }

       public void Draw()
       {
       layout.addView(textv1);
       layout.addView(etext1);
       layout.addView(textv2);
       layout.addView(etext2);
       layout.addView(toperation);
       layout.addView(buttplus);
       layout.addView(buttmoins);
       layout.addView(buttmulti);
       layout.addView(buttdiv);
       layout.addView(tresultat);
       layout.addView(eresultat);

       setContentView(layout);
}

       public void Buttplus(){            

           Double result = new Double(etext1.getText().toString())
           + new Double(etext2.getText().toString());
           eresultat.setText(Double.toString(result));      


               }

       public void Buttmoins(){            

           Double result = new Double(etext1.getText().toString())
           - new Double(etext2.getText().toString());
           eresultat.setText(Double.toString(result));



               }

       public void Buttmulti(){           

           Double result = new Double(etext1.getText().toString())
           * new Double(etext2.getText().toString());
            eresultat.setText(Double.toString(result));



               }       
       public void Buttdiv(){        

           Double result = new Double(etext1.getText().toString())
           / new Double(etext2.getText().toString());
           eresultat.setText(Double.toString(result));


               }         

   }

Approche déclarative:

fichier xml

<?xml version="1.0" encoding="utf-8"?>
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >


















fichier java

package com.olivier.androiid.calculatrice;


import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
//import android.text.Editable;
import android.view.View;

public class calculact extends Activity {
   private EditText num1, num2, resulttex;
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       //text1 = (EditText) findViewById(R.id.EditText01);
       num1 = (EditText) findViewById(R.id.EditText01);
       num2 = (EditText) findViewById(R.id.EditText02);
       resulttex = (EditText) findViewById(R.id.EditText03);
   }

   public void Buttplus(View v){
       //String result = null;

       Double result = new Double(num1.getText().toString())
       + new Double(num2.getText().toString());
       if (v.getId()==R.id.Button01) resulttex.setText(Double.toString(result));



           }      

   public void Buttmoins(View v){
       //String result = null;

       Double result = new Double(num1.getText().toString())
       - new Double(num2.getText().toString());
       if (v.getId()==R.id.Button02) resulttex.setText(Double.toString(result));



           }       
   public void Buttmulti(View v){
       //String result = null;

       Double result = new Double(num1.getText().toString())
       * new Double(num2.getText().toString());
       if (v.getId()==R.id.Button03) resulttex.setText(Double.toString(result));



           }       
   public void Buttdiv(View v){
       //String result = null;

       Double result = new Double(num1.getText().toString())
       / new Double(num2.getText().toString());
       if (v.getId()==R.id.Button04) resulttex.setText(Double.toString(result));



           }       
}

Lien vers le commentaire
Partager sur d’autres sites

En fait il répond à une question posée plusieurs fois.

comment déclarer un evenement et l'associer par exemple à un bouton.

tu as deux choix:

par code faire un setonclicklistener

ou direct dans le xml associer la fonction...

une petite intro de présentation du post aurait été plus sympa.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

je vous donne quelques explications :):

sous Android on peut développer de deux façons différentes:

-soit de façon déclarative c à d en exploitant un fichier xml que l'on va "parser", ce fichier contient toutes les déclarations des widgets (Button, TextEdit, ...) par exemple quand vous ouvrez un fichier sous Eclipse l'exemple Hello est écrit de manière déclarative, ça c'est la premiére solution.

-soit vous programmer de façon programmatique c à d en programmant un fichier java pur où vous déclarez tout dedans (widget, ...).

Des questions ?

Olivier

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...