In this code snippet, we will learn how to make android app having simple mathematical functions like add, subtract, multiply etc. It is having two sets of code XML file and Java. In the last, output is shown.activity_main.xml (XML Code)
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg2" tools:context=".MainActivity"> <TextView android:id="@+id/FValue" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="8dp" android:layout_marginLeft="6dp" android:layout_marginRight="8dp" android:layout_marginStart="6dp" android:layout_marginTop="16dp" android:text="First Value" android:textSize="18sp" app:layout_constraintEnd_toStartOf="@+id/editbox1" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/SValue" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:layout_marginLeft="6dp" android:layout_marginStart="6dp" android:layout_marginTop="8dp" android:text="Second Value" android:textSize="18sp" app:layout_constraintBottom_toTopOf="@+id/ReditText" app:layout_constraintEnd_toStartOf="@+id/editText2" app:layout_constraintHorizontal_chainStyle="spread_inside" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/editbox1" app:layout_constraintVertical_bias="0.0" /> <EditText android:id="@+id/editbox1" android:layout_width="203dp" android:layout_height="wrap_content" android:layout_marginEnd="5dp" android:layout_marginRight="5dp" android:ems="5" android:hint="Enter First Value" android:inputType="numberSigned|numberDecimal" app:layout_constraintBottom_toBottomOf="@+id/FValue" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> <EditText android:id="@+id/editText2" android:layout_width="0dp" android:layout_height="49dp" android:layout_marginBottom="8dp" android:layout_marginEnd="5dp" android:layout_marginRight="5dp" android:layout_marginTop="30dp" android:ems="10" android:hint="Enter Second Value" android:inputType="numberSigned|numberDecimal" app:layout_constraintBottom_toBottomOf="@+id/SValue" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/SValue" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.0" /> <TextView android:id="@+id/operation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="22dp" android:layout_marginEnd="8dp" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:layout_marginStart="8dp" android:text="Select Mathematical Operation" android:textSize="18sp" app:layout_constraintBottom_toTopOf="@+id/addition" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/ReditText" app:layout_constraintVertical_bias="0.269" /> <EditText android:id="@+id/ReditText" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:layout_marginTop="81dp" android:ems="10" android:inputType="none" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.0" /> <Button android:id="@+id/addition" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginEnd="8dp" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:text="+" app:layout_constraintBottom_toBottomOf="@+id/substraction" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.05" app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/substraction" app:layout_constraintVertical_bias="1.0" /> <Button android:id="@+id/substraction" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginEnd="8dp" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:layout_marginStart="8dp" android:text="-" app:layout_constraintBaseline_toBaselineOf="@+id/invert" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.229" app:layout_constraintStart_toStartOf="parent" /> <Button android:id="@+id/invert" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginEnd="8dp" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:layout_marginStart="8dp" android:text="1/x" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.405" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/operation" /> <Button android:id="@+id/multiplication" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginBottom="8dp" android:layout_marginEnd="8dp" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:layout_marginStart="8dp" android:text="*" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.047" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/clearbutton" app:layout_constraintVertical_bias="0.0" /> <Button android:id="@+id/division" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginLeft="8dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:text="/" app:layout_constraintBottom_toBottomOf="@+id/square" app:layout_constraintEnd_toEndOf="@+id/substraction" app:layout_constraintHorizontal_bias="1.0" app:layout_constraintStart_toStartOf="@+id/substraction" app:layout_constraintTop_toTopOf="@+id/square" app:layout_constraintVertical_bias="1.0" /> <Button android:id="@+id/square" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginEnd="8dp" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:layout_marginStart="8dp" android:text="x\u00b2" app:layout_constraintEnd_toEndOf="@+id/invert" app:layout_constraintStart_toStartOf="@+id/invert" app:layout_constraintTop_toBottomOf="@+id/invert" /> <Button android:id="@+id/clearbutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:layout_marginTop="8dp" android:text="clear" app:layout_constraintBottom_toBottomOf="@+id/invert" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.92" app:layout_constraintStart_toEndOf="@+id/invert" app:layout_constraintTop_toTopOf="@+id/invert" /> <Button android:id="@+id/square_root" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginBottom="268dp" android:layout_marginEnd="8dp" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:layout_marginStart="8dp" android:text="\u221a" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.588" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/clearbutton" app:layout_constraintVertical_bias="0.0" /> <Button android:id="@+id/percentage2" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginLeft="8dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:text="%" app:layout_constraintBottom_toBottomOf="@+id/clearbutton" app:layout_constraintStart_toEndOf="@+id/invert" app:layout_constraintTop_toTopOf="@+id/clearbutton" app:layout_constraintVertical_bias="0.875" /> </android.support.constraint.ConstraintLayout >
MainActivity.java (Java Code)
package com.example.sfaraz.simplecalculator;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends AppCompatActivity {Button btnadd, btnsub, btnmult, btndiv, btninvet, btnsquare, btnpercentage,btnsqure_root, btnclear;EditText firstvalue, secondvalue, result;@Overrideprotected voidonCreate(BundlesavedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btnadd = (Button)findViewById(R.id.addition);btnsub = (Button)findViewById(R.id.substraction);btnmult = (Button)findViewById(R.id.multiplication);btndiv = (Button)findViewById(R.id.division);btnsquare=(Button)findViewById(R.id.square);btninvet=(Button)findViewById(R.id.invert);btnclear=(Button)findViewById(R.id.clearbutton);result = (EditText)findViewById(R.id.ReditText);result.setKeyListener(null);firstvalue =(EditText)findViewById(R.id.editbox1);secondvalue =(EditText)findViewById(R.id.editText2);btnpercentage=(Button)findViewById(R.id.percentage2);btnsqure_root=(Button)findViewById(R.id.square_root);double x, y, sum,sub,mult,div;btnadd.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {if (!firstvalue.getText().toString().equals("") && !secondvalue.getText().toString().equals("")) {double x = new Double(firstvalue.getText().toString());double y = new Double(secondvalue.getText().toString());double sum = x + y; //Perform Maths operationresult.setText(x + " + " +y + " = " + sum);//print answer} else {Toast.makeText(MainActivity.this, "values can not be empty", Toast.LENGTH_SHORT).show();}}});btnsub.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (!firstvalue.getText().toString().equals("") && !secondvalue.getText().toString().equals("")) {double x = new Double(firstvalue.getText().toString());double y = new Double(secondvalue.getText().toString());double sub = x - y; //Perform Maths operationresult.setText(x + " - " +y + " = " + sub);//print answer}else {Toast.makeText(MainActivity.this, "Values can not be empty", Toast.LENGTH_SHORT).show();}}});btnmult.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (!firstvalue.getText().toString().equals("") && !secondvalue.getText().toString().equals("")) {double x = new Double(firstvalue.getText().toString());double y = new Double(secondvalue.getText().toString());double mult = x * y; //Perform Maths operationresult.setText(x + " * " +y + " = " + mult);//print answer} else {Toast.makeText(MainActivity.this, "Values can not be empty", Toast.LENGTH_SHORT).show();}}});btndiv.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (!firstvalue.getText().toString().equals("") && !secondvalue.getText().toString().equals("")) {double x = new Double(firstvalue.getText().toString());double y = new Double(secondvalue.getText().toString());double div = x / y; //Perform Maths operationresult.setText(x + " / " +y + " =" + div);//print answer}else{Toast.makeText(MainActivity.this, "Values can not be empty", Toast.LENGTH_SHORT).show();}}});btnclear.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {firstvalue.setText("");secondvalue.setText("");result.setText("");}});btninvet.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(Viewv) {if (!firstvalue.getText().toString().equals("")) {double x = new Double(firstvalue.getText().toString());double invert = 1 / x;result.setText("1/"+x + "=" + invert);}else{Toast.makeText(MainActivity.this, "First value can not be empty", Toast.LENGTH_SHORT).show();}}});btnsquare.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(Viewv) {if (!firstvalue.getText().toString().equals("")) {double x = new Double(firstvalue.getText().toString());double square = x * x;result.setText(x + "*" + x + "=" + square);}elseToast.makeText(MainActivity.this, "First Value can not be empty", Toast.LENGTH_SHORT).show();}});btnpercentage.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(!firstvalue.getText().toString().equals("") && !secondvalue.getText().toString().equals("")){double x=new Double(firstvalue.getText().toString());double y=new Double(secondvalue.getText().toString());double percentage=(x/100)*y;result.setText(y+"%"+" "+"of"+" "+x+"="+percentage);}else {Toast.makeText(MainActivity.this, "Values can not be empty", Toast.LENGTH_SHORT).show();}}});btnsqure_root.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (!firstvalue.getText().toString().equals("")) {double x = new Double(firstvalue.getText().toString());double squre_Root=Math.sqrt(x);result.setText("√"+x+"="+squre_Root);}else {Toast.makeText(MainActivity.this, "Values can not be empty", Toast.LENGTH_SHORT).show();}}});}}

Great Job
ReplyDelete