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

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.length); Image…

Get a single record from SQLite in ANDROID

For COMPLETE TUTORIALS see here :
in DATABASE HELPER class: String[] coloumns = new String[] { KEY_ROWID, KEY_NAME, KEY_NICKNAME }; // calling elements in an array Cursor c = db.query(DATABASE_TABLE, coloumns, KEY_ROWID + "=" + l,null, null, null, null); if (c != null) { c.moveToFirst(); String name = c.getString(1); // since name is in position 1 ie second coloumn return name; } return null; in sqlite.java : String s =editinfo.getText().toString(); long l=Long.parseLong(s); DBAdapter adapter=new DBAdapter(SQliteExample.this); adapter.open(); String returnedname=adapter.returnName(l); String returnednickname=adapter.returnickname(l); adapter.close(); editName.setText(returnedname); editNickName.setText(returnednickname);

How To Finish All Previous Activities in ANDROID ?

Some times we may need to close previous all activities before calling an intent, so that the previous activity do not loads on clicking the Android back button.Here is a simple sniffet for it.. Intent intent = new Intent(getApplicationContext(), MainClass.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent);