Professional Documents
Culture Documents
Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
Layout activity_main (XML File)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="#000000"
android:orientation="vertical">
<TextView
android:id="@+id/inputTextView"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_weight="1"
android:layout_gravity="end"
android:paddingRight="30dp"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:text=""
android:background="#000000"
android:gravity="center_vertical"
android:textAlignment="textEnd"
tools:ignore="RtlCompat" />
<TextView
android:id="@+id/outputTextView"
android:layout_width="match_parent"
android:paddingRight="30dp"
android:layout_height="20dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:textColor="#FFA500"
android:text=""
android:textAlignment="textEnd"
android:layout_gravity="end"
android:textSize="45sp"
tools:ignore="RtlCompat" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/btnClr"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="C"
android:background="@null"
android:textColor="#FF0000"
android:textSize="30sp"
android:onClick="onClear"
tools:ignore="NestedWeights,OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnPara"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="()"
android:background="@null"
android:textColor="#FFA500"
android:textSize="30sp"
android:onClick="onPara"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnPower"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="^"
android:background="@null"
android:textColor="#FFA500"
android:textSize="30sp"
android:onClick="onPower"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnDivide"
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="÷"
android:background="@null"
android:textColor="#FFA500"
android:textSize="30sp"
android:onClick="onDivide"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/btnSeven"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="7"
android:background="@null"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:onClick="onSeven"
tools:ignore="NestedWeights,OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnEight"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="8"
android:background="@null"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:onClick="onEight"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
<Button
android:id="@+id/btnNine"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="9"
android:background="@null"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:onClick="onNine"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnMultiply"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="×"
android:background="@null"
android:textColor="#FFA500"
android:textSize="30sp"
android:onClick="onMultiply"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/btnFour"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="4"
android:background="@null"
android:textColor="#FFFFFF"
android:textSize="30sp"
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
android:onClick="onFour"
tools:ignore="NestedWeights,OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnFive"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="5"
android:background="@null"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:onClick="onFive"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnSix"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="6"
android:background="@null"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:onClick="onSix"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnSubtract"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="-"
android:background="@null"
android:textColor="#FFA500"
android:textSize="30sp"
android:onClick="onSubtract"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
</LinearLayout>
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/btnOne"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="1"
android:background="@null"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:onClick="onOne"
tools:ignore="NestedWeights,OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnTwo"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="2"
android:background="@null"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:onClick="onTwo"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnThree"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="3"
android:background="@null"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:onClick="onThree"
tools:ignore="OnClick,UsingOnClickInXml"
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnAdd"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="+"
android:background="@null"
android:textColor="#FFA500"
android:textSize="30sp"
android:onClick="onAdd"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/btnZero"
android:layout_width="103dp"
android:layout_height="match_parent"
android:text="0"
android:background="@null"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:onClick="onZero"
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnPoint"
android:layout_width="102dp"
android:layout_height="match_parent"
android:text="."
android:background="@null"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:onClick="onPoint"
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
tools:ignore="OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
<Button
android:id="@+id/btnEqual"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="="
android:backgroundTint="#FFA500"
android:textColor="#FFFFFF"
android:textSize="40sp"
android:onClick="onEqual"
tools:ignore="NestedWeights,OnClick,UsingOnClickInXml"
style="?android:attr/buttonBarButtonStyle" />
</LinearLayout>
</LinearLayout>
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
package com.example.exer2cionchristine;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
TextView inputTV;
TextView outputTV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initTextViews();
}
//Initialize Input
private void initTextViews()
{
inputTV = (TextView)findViewById(R.id.inputTextView);
outputTV = (TextView)findViewById(R.id.outputTextView);
}
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
private void setInput(String givenValue)
{
input = input + givenValue;
inputTV.setText(input);
}
//Equal Function
public void onEqual(View view)
{
Double result = null;
ScriptEngine engine = new ScriptEngineManager().getEngineByName("rhino");
checkForPowerOf();
try {
result = (double)engine.eval(formula);
} catch (ScriptException e)
{
Toast.makeText(this, "Invalid Input", Toast.LENGTH_SHORT).show();
}
if(result != null)
outputTV.setText(String.valueOf(result.doubleValue()));
formula = input;
tempFormula = input;
for(Integer index: indexOfPowers)
{
changeFormula(index);
}
formula = tempFormula;
}
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
//Change Formula
private void changeFormula(Integer index)
{
String numberLeft = "";
String numberRight = "";
//Check if it is number/integer
private boolean isNumeric(char c)
{
if((c <= '9' && c >= '0') || c == '.')
return true;
return false;
}
//Parenthesis
public void onPara(View view)
{
if(leftBracket)
{
setInput("(");
leftBracket = false;
}
else
{
setInput(")");
leftBracket = true;
}
}
}
Christine Mae T. Cion
MOBAPLAB
BSCS 3A Prof: Mr. Jefferson A. Costales
Screenshot (Output)