Jump to content

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));



           }       
}

Link to comment
Share on other 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.

Link to comment
Share on other 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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...