Skip to main content

Simple Calculator in Android

This post explains how you can create a simple calculator in android. You can download the code and use.

See xml class:
 

 <?xml version="1.0" encoding="utf-8"?>















</LinearLayout >
        
See Java class:
 

 public class Calculator extends Activity implements OnClickListener {

   EditText etNum1;
   EditText etNum2;

   Button btnAdd;
   Button btnSub;
   Button btnMult;
   Button btnDiv;

   TextView tvResult;

   String oper = "";

   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_calculator);

     // find the elements
     etNum1 = (EditText) findViewById(R.id.etNum1);
     etNum2 = (EditText) findViewById(R.id.etNum2);

     btnAdd = (Button) findViewById(R.id.btnAdd);
     btnSub = (Button) findViewById(R.id.btnSub);
     btnMult = (Button) findViewById(R.id.btnMult);
     btnDiv = (Button) findViewById(R.id.btnDiv);

     tvResult = (TextView) findViewById(R.id.tvResult);

     // set a listener
     btnAdd.setOnClickListener(this);
     btnSub.setOnClickListener(this);
     btnMult.setOnClickListener(this);
     btnDiv.setOnClickListener(this);

   }

   @Override
   public void onClick(View v) {
     // TODO Auto-generated method stub
     float num1 = 0;
     float num2 = 0;
     float result = 0;

     // check if the fields are empty
     if (TextUtils.isEmpty(etNum1.getText().toString())
         || TextUtils.isEmpty(etNum2.getText().toString())) {
       return;
     }

     // read EditText and fill variables with numbers
     num1 = Float.parseFloat(etNum1.getText().toString());
     num2 = Float.parseFloat(etNum2.getText().toString());

     // defines the button that has been clicked and performs the corresponding operation
     // write operation into oper, we will use it later for output
     switch (v.getId()) {
     case R.id.btnAdd:
       oper = "+";
       result = num1 + num2;
       break;
     case R.id.btnSub:
       oper = "-";
       result = num1 - num2;
       break;
     case R.id.btnMult:
       oper = "*";
       result = num1 * num2;
       break;
     case R.id.btnDiv:
       oper = "/";
       result = num1 / num2;
       break;
     default:
       break;
     }

     // form the output line
     tvResult.setText(num1 + " " + oper + " " + num2 + " = " + result);
   }
 }

      

Comments

Popular posts from this blog

Spannable String in Android - URL Span ,Clickable Span, Rich-Style Formatting of Textview .....

See more Android Tutorials here....... Faster Loading images in GridViews or ListViews Spannable brings lots of possibility to TextView, includes displaying various appearance of a Text and onClick callbak. The SpannableString class allows you to easily format certain pieces which are called spans of a string, by applying CharacterStyle ie,color, font, ormake it a link . Here is an example where, explained how to use spannable string to give font size, color, linking a text via clickable span and through URL Span and to strike through the text. Lets go through the example : import android.os.Bundle; import android.text.SpannableString; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.text.style.ForegroundColorSpan; import android.text.style.RelativeSizeSpan; import android.text.style.StrikethroughSpan; import android.text.style.URLSpan; import android.view.View; import android.widget.TextView; import android.widget.Toast;

Passing Images between Activities in Android

in First Activity: Intent intent=new Intent(FirstClass.this, SecondClass.class); Bundle bundle=new Bundle(); bundle.putInt("image",R.drawable.ic_launcher); intent.putExtras(bundle); startActivity(intent); in Second Acticity: Bundle bundle=this.getIntent().getExtras(); int pic=bundle.getInt("image"); v.setImageResource(pic); another method: in First Activity: Drawable drawable=imgv.getDrawable(); Bitmap bitmap= ((BitmapDrawable)drawable).getBitmap(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); byte[] b = baos.toByteArray(); Intent intent=new Intent(Passimage.this,myclass.class); intent.putExtra("picture", b); startActivity(intent); in Second Acticity: Bundle extras = getIntent().getExtras(); byte[] b = extras.getByteArray("picture"); Bitmap bmp = BitmapFactory.decodeByteArray(b, 0, b.lengt

Show and Resume Android Soft-Keyboard

Code to show keyboard: InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(yourEditText,InputMethodManager.SHOW_IMPLICIT); Code resume keyboard : InputMethodManager imm = (InputMethodManager)gettSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0);