piątek, 19 października 2012

Przykład 3 Prosty Kalkulator



Tym razem troszkę więcej zabawy.
Napiszemy prosty kalkulator który będzie składał się z dwóch pól tekstowych do których wprowadzać będziemy liczby. Czterech przycisków odpowiedzialnych za wybór działania +, -,  *, /. Dwóch pól tekstowych w których przedstawimy wyniki.

Skorzystamy też z pliku zasobów lokalnych strings.xml

Nasz layout będzie wyglądał następująco:





W pliku strings.xml umieścimy wpisy

<resources>

    <string name="app_name">przykład 03 kalkulator</string>
    <string name="title_activity_main">Przykład 03 kalkulator</string>
    <string name="op_dod">A + B</string>
    <string name="op_ode">A - B</string>
    <string name="op_mno">A * B</string>
    <string name="op_dzie">A / B</string>
    <string name="et_a">Liczba A</string>
    <string name="et_b">Liczba B</string>
      <string name="et_wynik">Wynik :</string>
      <string name="et_info">Wpisz liczby</string>
      <string name="et_wynik_opis"></string>
</resources>

A nasz kod źródłowy aplikacji będzie wyglądał tak:

package pl.net.turka.android.develop.przyklad_03;

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

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
   
    public void buttonClick(View view){
      EditText numA  = (EditText)findViewById(R.id.num_A);
      EditText numB  = (EditText)findViewById(R.id.num_B);
      TextView wynik = (TextView)findViewById(R.id.wynik);
      TextView wynik_opis = (TextView)findViewById(R.id.wynik_opis);
     
      float num1 = Float.parseFloat(numA.getText().toString());
      float num2 = Float.parseFloat(numB.getText().toString());
      float eq = 0;

      switch(view.getId()){
            case R.id.button_dod:
                  eq = num1 + num2;
                  wynik_opis.setText(num1 + " + " +num2+ " = " );
                  break;
            case R.id.button_ode:
                  eq = num1 - num2;
                  wynik_opis.setText(num1 + " - " +num2+ " = " );
                  break;
            case R.id.button_mno:
                  wynik_opis.setText(num1 + " * " +num2+ " = " );
                  eq = num1 * num2;
                  break;
            case R.id.button_dzie:
                  wynik_opis.setText(num1 + " / " +num2+ " = " );
                  if (num2==0) wynik_opis.setText("nie dziel przez zero");
                  eq = num1 / num2;
                  break;
      }

      wynik.setText(String.format("%f", eq));
    }
   
}


Działanie programy



Gotowy projekt do pobrania

1 komentarz: