How to Create Simple Calculator Android App Using Android Studio • Crunchify (2024)

Crunchify Android Dev Tutorials How to Create Simple Calculator Android App Using Android Studio

Last Updated on by Kuldeep 21 comments

How to Create Simple Calculator Android App Using Android Studio • Crunchify (1)

In my previous article I wrote detailed steps on How to create a simple android application. In that particular app I also explained concepts of android button and basic concepts of android.

You can find all my other articles inAndroidsection.

In this article we will createa calculator android app.This is a simple calculator with limited functionality.

Before we go forward it would be nice to go over complete HelloWorld Tutorial. Here is a link again:My first HelloWorldAndroid App

  • How to build a simple calculator app – full tutorial
  • Building a Simple Calculator using Android Studio
  • Android Development: Creating a Basic Calculator
  • Create Simple Calculator Android App
  • How to create a Calculator App for Android

Let’s get started with ourcalculator android App:

Step-1

  • Open yourAndroid Studio
  • Click onStart a New Android Studio Project.
  • Give yourApplication Name CrunchifyCalculator and leave other fields blank as it is, then clickNEXT.

How to Create Simple Calculator Android App Using Android Studio • Crunchify (2)

Step-2

  • Select theMinimum SDK API 15: Android 4.0.3(IceCreamSandwich).I selected API 15 (IceCreamSandwich) because it covers almost 94% device and it has almost all the features. If you want to cover 100% device then you can selectAPI 8: Android 2.2(Froyo).

How to Create Simple Calculator Android App Using Android Studio • Crunchify (3)

Step-3

  • Select theEmpty Activityand clickNEXT.
  • Leavethe activity name MainActivity as it is and leave everything as it is. Click Finish.

How to Create Simple Calculator Android App Using Android Studio • Crunchify (4)

Step-4

  • After clickingFinish, it takes around around ~2 minutes to build Activity and files.
  • Here is a final project structure for your application.

How to Create Simple Calculator Android App Using Android Studio • Crunchify (5)

Step-5

  • Now we have to add our Java code in ourMainActivity.java file.
  • So open you MainActivity.java file from left side of IDE(app -> java -> com.crunchify.tutorials.crunchifycalculator -> MainActivity.java)

You can find the explanation of highlighted line below the code.

package com.crunchify.tutorials.crunchifycalculator;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.EditText;public class MainActivity extends AppCompatActivity { Button button0, button1, button2, button3, button4, button5, button6, button7, button8, button9, buttonAdd, buttonSub, buttonDivision, buttonMul, button10, buttonC, buttonEqual; EditText crunchifyEditText; float mValueOne, mValueTwo; boolean crunchifyAddition, mSubtract, crunchifyMultiplication, crunchifyDivision; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button0 = (Button) findViewById(R.id.button0); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); button3 = (Button) findViewById(R.id.button3); button4 = (Button) findViewById(R.id.button4); button5 = (Button) findViewById(R.id.button5); button6 = (Button) findViewById(R.id.button6); button7 = (Button) findViewById(R.id.button7); button8 = (Button) findViewById(R.id.button8); button9 = (Button) findViewById(R.id.button9); button10 = (Button) findViewById(R.id.button10); buttonAdd = (Button) findViewById(R.id.buttonadd); buttonSub = (Button) findViewById(R.id.buttonsub); buttonMul = (Button) findViewById(R.id.buttonmul); buttonDivision = (Button) findViewById(R.id.buttondiv); buttonC = (Button) findViewById(R.id.buttonC); buttonEqual = (Button) findViewById(R.id.buttoneql); crunchifyEditText = (EditText) findViewById(R.id.edt1); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(crunchifyEditText.getText() + "1"); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(crunchifyEditText.getText() + "2"); } }); button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(crunchifyEditText.getText() + "3"); } }); button4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(crunchifyEditText.getText() + "4"); } }); button5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(crunchifyEditText.getText() + "5"); } }); button6.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(crunchifyEditText.getText() + "6"); } }); button7.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(crunchifyEditText.getText() + "7"); } }); button8.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(crunchifyEditText.getText() + "8"); } }); button9.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(crunchifyEditText.getText() + "9"); } }); button0.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(crunchifyEditText.getText() + "0"); } }); buttonAdd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (crunchifyEditText == null) { crunchifyEditText.setText(""); } else { mValueOne = Float.parseFloat(crunchifyEditText.getText() + ""); crunchifyAddition = true; crunchifyEditText.setText(null); } } }); buttonSub.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mValueOne = Float.parseFloat(crunchifyEditText.getText() + ""); mSubtract = true; crunchifyEditText.setText(null); } }); buttonMul.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mValueOne = Float.parseFloat(crunchifyEditText.getText() + ""); crunchifyMultiplication = true; crunchifyEditText.setText(null); } }); buttonDivision.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mValueOne = Float.parseFloat(crunchifyEditText.getText() + ""); crunchifyDivision = true; crunchifyEditText.setText(null); } }); buttonEqual.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mValueTwo = Float.parseFloat(crunchifyEditText.getText() + ""); if (crunchifyAddition == true) { crunchifyEditText.setText(mValueOne + mValueTwo + ""); crunchifyAddition = false; } if (mSubtract == true) { crunchifyEditText.setText(mValueOne - mValueTwo + ""); mSubtract = false; } if (crunchifyMultiplication == true) { crunchifyEditText.setText(mValueOne * mValueTwo + ""); crunchifyMultiplication = false; } if (crunchifyDivision == true) { crunchifyEditText.setText(mValueOne / mValueTwo + ""); crunchifyDivision = false; } } }); buttonC.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(""); } }); button10.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { crunchifyEditText.setText(crunchifyEditText.getText() + "."); } }); }}

Here we have 1 EditText. It defines the type of content.

Let’s understand code little-bit more.

  • Line 11 – 14:Here we created thereferenceof Buttons and EditText.
  • Line 16:Here we created two float variable for as value1 and value2.
  • Line 21:We override the methodonCreate() which is the method of Activity class.
  • Line 45 – 50:We set onClickListener onButton1.If we click on Button1, EditText will display.
  • We have implemented the same logic for every button.
  • Line 115 – 127:Here we have set the click listener on Add button.
  • Here we put the condition as, if weEditTextis Null then we setEditTextas empty value. Else we add the two value which are clicked before add button clicked and after add button clicked.
  • We also set the crunchifyAdditionBooleanvalue toTrue.This true represent that add button is clicked and this will be used when user click “=” button.
  • We implement the same logic for other buttons also likebuttonSub, ButtonMul, buttonDivision.
  • Line 156 – 183:Here we set clickListener on“=” button.Here we put condition like if user clickAddbutton the crunchifyAddition value is setTrueon the click listener of Add button.
  • According to that, corresponding action will be performed respective to button clicked.
if (crunchifyAddition == true) { crunchifyEditText.setText(mValueOne + mValueTwo + ""); crunchifyAddition = false;}

if Add button is clicked before the “=” button then Add action will be performed as you can see above.

  • After the action performed, we set the crunchifyAdditionvalue tofalse,so that we can perform Add action again.

Below is the layout file, with help to design front end for the calculator:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/relative1" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <EditText android:id="@+id/edt1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/button1" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/button4" android:layout_alignRight="@+id/button4" android:layout_below="@+id/edt1" android:layout_marginTop="94dp" android:text="1" /> <Button android:id="@+id/button2" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/button1" android:layout_toLeftOf="@+id/button3" android:layout_toStartOf="@+id/button3" android:text="2" /> <Button android:id="@+id/button3" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/button2" android:layout_centerHorizontal="true" android:text="3" /> <Button android:id="@+id/button4" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button1" android:layout_toLeftOf="@+id/button2" android:text="4" /> <Button android:id="@+id/button5" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/button4" android:layout_alignLeft="@+id/button2" android:layout_alignStart="@+id/button2" android:text="5" /> <Button android:id="@+id/button6" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button3" android:layout_alignStart="@+id/button3" android:layout_below="@+id/button3" android:text="6" /> <Button android:id="@+id/button7" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button4" android:layout_toLeftOf="@+id/button2" android:text="7" /> <Button android:id="@+id/button8" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button5" android:layout_alignStart="@+id/button5" android:layout_below="@+id/button5" android:text="8" /> <Button android:id="@+id/button9" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button6" android:layout_alignStart="@+id/button6" android:layout_below="@+id/button6" android:text="9" /> <Button android:id="@+id/buttonadd" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/edt1" android:layout_alignRight="@+id/edt1" android:layout_alignTop="@+id/button3" android:layout_marginLeft="46dp" android:layout_marginStart="46dp" android:layout_toRightOf="@+id/button3" android:text="+" /> <Button android:id="@+id/buttonsub" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/buttonadd" android:layout_alignLeft="@+id/buttonadd" android:layout_alignRight="@+id/buttonadd" android:layout_alignStart="@+id/buttonadd" android:layout_below="@+id/buttonadd" android:text="-" /> <Button android:id="@+id/buttonmul" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/buttonsub" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_alignStart="@+id/buttonsub" android:layout_below="@+id/buttonsub" android:text="*" /> <Button android:id="@+id/button10" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button7" android:layout_toLeftOf="@+id/button2" android:text="." /> <Button android:id="@+id/button0" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button8" android:layout_alignStart="@+id/button8" android:layout_below="@+id/button8" android:text="0" /> <Button android:id="@+id/buttonC" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button9" android:layout_alignStart="@+id/button9" android:layout_below="@+id/button9" android:text="C" /> <Button android:id="@+id/buttondiv" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/buttonmul" android:layout_alignLeft="@+id/buttonmul" android:layout_alignRight="@+id/buttonmul" android:layout_alignStart="@+id/buttonmul" android:layout_below="@+id/buttonmul" android:text="/" /> <Button android:id="@+id/buttoneql" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/buttondiv" android:layout_alignLeft="@+id/button10" android:layout_alignRight="@+id/buttondiv" android:layout_alignStart="@+id/button10" android:layout_below="@+id/button0" android:layout_marginTop="37dp" android:text="=" /></RelativeLayout>

How to Create Simple Calculator Android App Using Android Studio • Crunchify (6)

Now, all things should works fine and we are ready torunour calculator android app. To run our app I used my mobile, you can use emulator or your device.

Running our Calculator Android App

  • Click on Android device manager. After selecting your custom device in Android device manager window, clickSTART.
  • Click onRun button.
  • Choose Your device or emulator and clickOK.
  • Now you can seecalculatorandroidapprunning as this screenshot.

Congratulations!! If you have followed all steps and reach this point means you have followed all the steps correctly and your Calculator android app is up and running fine.

Join the Discussion

If you liked this article, then please share it on social media. Still have any questions about an article, leave us a comment.

Other Popular Articles...

  1. How to Build Your First Hello World Android App with Android Studio?
  2. How to fix Gradle sync failed, NDK not configured Error in Android Studio?
  3. Some of my Favorite JavaScript Tips and Tricks Tutorials
  4. How to Enable Google Analytics Event Tracking – Web Tracking (ga.js)
  5. Java Collections – hashCode() and equals() – How to Override equals() and hashcode() Method in Java?
  6. Understanding Java Annotations – Java @annotations Tutorial
How to Create Simple Calculator Android App Using Android Studio • Crunchify (2024)

FAQs

How do you create a Calculator app? ›

So let's develop this fully functional calculator i'll click on new project select empty activity.

What is a basic Calculator app? ›

Basic Calculator provides simple mathematical functions in a nice designed app. Perform basic calculations such as addition, subtraction, multiplication and division. See instant results as you type. Can copy the expression or result to clipboard by long pressing it.

How do you make a Calculator using Java app? ›

How to Make a Simple Calculator in Java
  1. Introduction: How to Make a Simple Calculator in Java. ...
  2. Step 1: Download Dr. ...
  3. Step 2: Create Your Class Structure. ...
  4. Step 3: Declare Inputs. ...
  5. Step 4: Build the User Input Method. ...
  6. Step 5: Declare Output Value. ...
  7. Step 6: Build Our Switch Statement. ...
  8. Step 7: Display Our Output.

How do you write I love you on a calculator? ›

So it is read as I love you. simplified: i <3. u !

How do you make a custom calculator? ›

How to Create a Custom Interactive Calculator for Your Website (2019)

How do I make a calculator app using HTML? ›

value = eval(Calculator. Input. value)"> <input type="button" name="div" style="font-size:30px" value=" / " OnClick="Calculator.

Is there a free calculator app? ›

RealCalc Scientific Calculator

RealCalc has all the standard scientific function you'll need. It also supports history, memories, unit conversions, and constants. Binary, octal, and hexadecimal calculations work just fine too. The app offers two calculator types, traditional and Reverse Polish Notation (RPN).

What is 2 out of 15 as a grade? ›

For the USA grading system, a value of 13.33% corresponds to the letter mark F.

How do you make a calculator? ›

Build A Calculator With JavaScript Tutorial - YouTube

How do I add a calculator to my Android home screen? ›

Add a Calculator to Android Nougat's Quick Settings [How-To] - YouTube

How do you make a calculator on scratch? ›

How To Make A Calculator In Scratch! | Easy tutorial for kids! - YouTube

How do you make a calculator app using Python? ›

How to Create a Calculator in Python Tkinter
  1. Why Tkinter for Building Python GUIs?
  2. 1) Import Tkinter.
  3. 2) Create a Tkinter Container.
  4. 3) Define Tkinter Widget Functions.
  5. 4) Design the Application.
  6. 5) Run the Application.
12 Jul 2022

Top Articles
Latest Posts
Article information

Author: Edmund Hettinger DC

Last Updated:

Views: 6228

Rating: 4.8 / 5 (58 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Edmund Hettinger DC

Birthday: 1994-08-17

Address: 2033 Gerhold Pine, Port Jocelyn, VA 12101-5654

Phone: +8524399971620

Job: Central Manufacturing Supervisor

Hobby: Jogging, Metalworking, Tai chi, Shopping, Puzzles, Rock climbing, Crocheting

Introduction: My name is Edmund Hettinger DC, I am a adventurous, colorful, gifted, determined, precious, open, colorful person who loves writing and wants to share my knowledge and understanding with you.