Lab File Mobile Application
Lab File Mobile Application
AIM:
Develop a native calculator using Android Studio having controls like Button, TextView, EditText for
designing a calculator having basic functionality like Addition, Subtraction, Multiplication, and
Division.
CODE:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textViewInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_margin="16dp"
android:textSize="24sp"
android:gravity="end"
android:textColor="@android:color/black"
android:text="0"/>
<TextView
android:id="@+id/textViewResult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textViewInput"
android:layout_margin="16dp"
android:textSize="30sp"
android:gravity="end"
android:textColor="@android:color/black"
android:text="0"/>
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textViewResult"
android:layout_marginTop="16dp"
android:columnCount="4">
<Button
android:layout_width="0dp"
android:id="@+id/button8"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:text="8"
android:onClick="onDigitClick" />
<Button
android:layout_width="0dp"
android:id="@+id/button9"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:text="9"
android:onClick="onDigitClick" />
<Button
android:layout_width="0dp"
android:id="@+id/division"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:text="/"
android:onClick="onOperatorClick" />
<Button
android:layout_width="0dp"
android:id="@+id/button5"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:text="5"
android:onClick="onDigitClick" />
<Button
android:layout_width="0dp"
android:id="@+id/button6"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:text="6"
android:onClick="onDigitClick" />
<Button
android:layout_width="0dp"
android:id="@+id/multiplication"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:text="*"
android:onClick="onOperatorClick" />
<Button
android:layout_width="0dp"
android:id="@+id/button2"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:text="2"
android:onClick="onDigitClick" />
<Button
android:layout_width="0dp"
android:id="@+id/button3"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:text="3"
android:onClick="onDigitClick" />
<Button
android:layout_width="0dp"
android:id="@+id/subtraction"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:text="-"
android:onClick="onOperatorClick" />
<Button
android:layout_width="0dp"
android:id="@+id/addition"
android:layout_height="wrap_content"
android:layout_columnSpan="2"
android:layout_columnWeight="2"
android:text="+"
android:onClick="onOperatorClick" />
<Button
android:layout_width="0dp"
android:id="@+id/equal"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:text="="
android:onClick="onEqualClick" />
</GridLayout>
</RelativeLayout>
MainActivity.xml
package com.example.calculator;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setupUIViews();
addition.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
compute();
ACTION = ADDITION;
// Update inputTextView for the action
inputTextView.append(" + ");
resultTextView.setText(null);
}
});
subtraction.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
compute();
ACTION = SUBTRACTION;
// Update inputTextView for the action
inputTextView.append(" - ");
resultTextView.setText(null);
}
});
multiplication.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
compute();
ACTION = MULTIPLICATION;
// Update inputTextView for the action
inputTextView.append(" * ");
resultTextView.setText(null);
}
});
division.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
compute();
ACTION = DIVISION;
// Update inputTextView for the action
inputTextView.append(" / ");
resultTextView.setText(null);
}
});
equal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
compute();
ACTION = '0';
}
});
clear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
valueOne = Double.NaN;
valueTwo = Double.NaN;
resultTextView.setText(null);
inputTextView.setText(null);
}
});
}