olivier97360 Posté(e) 14 avril 2010 Share Posté(e) 14 avril 2010 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)); } } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lincoln Six Echo Posté(e) 15 avril 2010 Share Posté(e) 15 avril 2010 quel est le principe de cela? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 15 avril 2010 Share Posté(e) 15 avril 2010 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. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xtof Posté(e) 15 avril 2010 Share Posté(e) 15 avril 2010 Bah ... A minuit et demi, il a peut-être voulu aller se coucher :) Il va probablement revenir sur son post et ajouter quelques explications .. ;) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
olivier97360 Posté(e) 15 avril 2010 Auteur Share Posté(e) 15 avril 2010 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 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Infernus Posté(e) 15 avril 2010 Share Posté(e) 15 avril 2010 Interessant mais, quel est l'interêt pour le commun des mortels ? J'aurais plutôt vu ca dans la partie programmation. Et sinon, ca change quoi de le faire de façon déclarative ou programmatique ? Merci d'avance :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.