Monday, August 13, 2018

Android Simple Calculator

  MultiWit Technologies       Monday, August 13, 2018
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;
    @Override
    protected 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()
{
@Override
public 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 operation                  
result.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() {         
@Override         
public 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 operation                   
result.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() {         
@Override          
public 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 operation                   
result.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() {          
@Override          
public 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 operation                  
result.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() {          
@Override          
public void onClick(View v) {              
firstvalue.setText("");              
secondvalue.setText("");              
result.setText("");          
}       
});      
btninvet.setOnClickListener(new View.OnClickListener() {          
@Override           
public 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() {          
@Override         
public void onClick(Viewv) {             
if (!firstvalue.getText().toString().equals("")) {                 
double x = new Double(firstvalue.getText().toString());                  
double square = x * x;                
result.setText(x + "*" + x + "=" + square);     
          }              
else                  
Toast.makeText(MainActivity.this, "First Value can not be empty", Toast.LENGTH_SHORT).show();          
}      
});       
btnpercentage.setOnClickListener(new View.OnClickListener() {          
@Override     
public 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() {          
@Override
public 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();             
}          
}    
});
   }
}
logoblog

Thanks for reading Android Simple Calculator

Previous
« Prev Post

1 comment: