Create Native Calculator Android Application

Introduction

 
Android is one of the most popular operating systems for mobile. In this article, I will show you how to create a Native Calculator Android application using Android Studio.
 
Requirements
Steps to be followed
 
The following steps are required to create a native Calculator Android application using Android Studio and I have included the source code below.
 
Step 1
 
Open Android Studio and start a new Android Studio Project.
 
Android Application
 
Step 2
 
You can choose your application name and choose where your project is stored on the location. If you wish to use C++ for coding the project, mark the "Include C++ support", and click the "Next" button.
 
Android Application
 
Now, select the version of Android and select the target Android devices.
 
Android Application
 
Step 3
 
Now, add the activity and click the "Next" button.
 
Android Application
 
Add Activity name and click the "Finish" button.
 
Android Application
 
Step 4
 
Go to activity_main.xml, This XML file contains the designing code for an Android app in the activity_main.xml.
 
Android Application
 
The XML code is given below.
  1. <LinearLayout  
  2.     xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="match_parent"  
  5.     android:layout_height="match_parent"  
  6.     android:layout_margin="20dp">  
  7.    
  8.     <LinearLayout  
  9.         android:id="@+id/linearLayout1"  
  10.         android:layout_width="match_parent"  
  11.         android:layout_height="wrap_content"  
  12.         android:layout_margin="20dp">  
  13.    
  14.         <EditText  
  15.             android:id="@+id/editText1"  
  16.             android:layout_width="match_parent"  
  17.             android:layout_height="wrap_content"  
  18.             android:layout_weight="1"  
  19.             android:inputType="numberDecimal"  
  20.             android:textSize="20sp" />  
  21.    
  22.         <EditText  
  23.             android:id="@+id/editText2"  
  24.             android:layout_width="match_parent"  
  25.             android:layout_height="wrap_content"  
  26.             android:layout_weight="1"  
  27.             android:inputType="numberDecimal"  
  28.             android:textSize="20sp" />  
  29.    
  30.     </LinearLayout>  
  31.    
  32.     <LinearLayout  
  33.         android:id="@+id/linearLayout2"  
  34.         android:layout_width="match_parent"  
  35.         android:layout_height="wrap_content"  
  36.         android:layout_margin="20dp">  
  37.    
  38.         <Button  
  39.             android:id="@+id/Add"  
  40.             android:layout_width="match_parent"  
  41.             android:layout_height="wrap_content"  
  42.             android:layout_weight="1"  
  43.             android:text="+"  
  44.             android:textSize="30sp"/>  
  45.    
  46.         <Button  
  47.             android:id="@+id/Sub"  
  48.             android:layout_width="match_parent"  
  49.             android:layout_height="wrap_content"  
  50.             android:layout_weight="1"  
  51.             android:text="-"  
  52.             android:textSize="30sp"/>  
  53.    
  54.         <Button  
  55.             android:id="@+id/Mul"  
  56.             android:layout_width="match_parent"  
  57.             android:layout_height="wrap_content"  
  58.             android:layout_weight="1"  
  59.             android:text="*"  
  60.             android:textSize="30sp"/>  
  61.    
  62.         <Button  
  63.             android:id="@+id/Div"  
  64.             android:layout_width="match_parent"  
  65.             android:layout_height="wrap_content"  
  66.             android:layout_weight="1"  
  67.             android:text="/"  
  68.             android:textSize="30sp"/>  
  69.    
  70.     </LinearLayout>  
  71.    
  72.    
  73.    <TextView  
  74.         android:id="@+id/textView"  
  75.         android:layout_width="match_parent"  
  76.         android:layout_height="wrap_content"  
  77.         android:layout_marginTop="50dp"  
  78.         android:text="The Answer is"  
  79.         android:textSize="30sp"  
  80.         android:gravity="center"/>  
  81.    
  82. </LinearLayout>  
Step 5
 
Go to Main Activity.java, This Java program is the back-end language for Android. Add the following code.
  1. package com.example.hpworld.nativecalculator;  
  2. import android.os.Bundle;  
  3. import android.support.v7.app.AppCompatActivity;  
  4. import android.text.TextUtils;  
  5. import android.view.View;  
  6. import android.view.View.OnClickListener;  
  7. import android.widget.Button;  
  8. import android.widget.EditText;  
  9. import android.widget.TextView;  
  10.    
  11. public class MainActivity extends AppCompatActivity implements OnClickListener  
  12. {  
  13.     //Defining the Views  
  14.     EditText Num1;  
  15.     EditText Num2;  
  16.     Button Add;  
  17.     Button Sub;  
  18.     Button Mul;  
  19.     Button Div;  
  20.     TextView Result;  
  21.    
  22.     @Override  
  23.     public void onCreate(Bundle savedInstanceState)  
  24.     {  
  25.         super.onCreate(savedInstanceState);  
  26.         setContentView(R.layout.activity_main);  
  27.    
  28.         //Referring the Views  
  29.         Num1 = (EditText) findViewById(R.id.editText1);  
  30.         Num2 = (EditText) findViewById(R.id.editText2);  
  31.         Add = (Button) findViewById(R.id.Add);  
  32.         Sub = (Button) findViewById(R.id.Sub);  
  33.         Mul = (Button) findViewById(R.id.Mul);  
  34.         Div = (Button) findViewById(R.id.Div);  
  35.         Result = (TextView) findViewById(R.id.textView);  
  36.    
  37.         // set a listener  
  38.         Add.setOnClickListener(this);  
  39.         Sub.setOnClickListener(this);  
  40.         Mul.setOnClickListener(this);  
  41.         Div.setOnClickListener(this);  
  42.     }  
  43.        
  44.     @Override  
  45.     public void onClick (View v)  
  46.     {  
  47.            
  48.         float num1 = 0;  
  49.         float num2 = 0;  
  50.         float result = 0;  
  51.         String oper = "";  
  52.    
  53.         // check if the fields are empty  
  54.         if (TextUtils.isEmpty(Num1.getText().toString()) || TextUtils.isEmpty(Num2.getText().toString()))  
  55.                 return;  
  56.    
  57.         // read EditText and fill variables with numbers  
  58.         num1 = Float.parseFloat(Num1.getText().toString());  
  59.         num2 = Float.parseFloat(Num2.getText().toString());  
  60.    
  61.         // defines the button that has been clicked and performs the corresponding operation  
  62.         // write operation into oper, we will use it later for output  
  63.         switch (v.getId())   
  64.         {  
  65.             case R.id.Add:  
  66.                 oper = "+";  
  67.                 result = num1 + num2;  
  68.                 break;  
  69.             case R.id.Sub:  
  70.                 oper = "-";  
  71.                 result = num1 - num2;  
  72.                 break;  
  73.             case R.id.Mul:  
  74.                 oper = "*";  
  75.                 result = num1 * num2;  
  76.                 break;  
  77.             case R.id.Div:  
  78.                 oper = "/";  
  79.                 result = num1 / num2;  
  80.                 break;  
  81.             default:  
  82.                 break;  
  83.         }  
  84.         // form the output line  
  85.         Result.setText(num1 + " " + oper + " " + num2 + " = " + result);  
  86.     }  
  87. }  
Step 6
 
Now, either go to the menu bar and click "Make a project" or press ctrl+f9 to debug the error.
 
Android Application
 
Step 7
 
Then, click the Run button or press shift+f10 to run the project. Select the "virtual machine" option and click OK.
 
Android Application
 

Conclusion

 
We have successfully created a Calculator app for Android using Android Studio.
 
Android Application
Result
 
Addition Operation
 
Android Application
 
Subtraction Operation
 
Android Application
 
Multiplication Operation
 
Android Application
 
Division Operation
 
Android Application

Up Next
    Ebook Download
    View all
    Learn
    View all