Loading app/src/androidTest/java/edu/bu/myapplication/ExampleInstrumentedTest.java→app/src/androidTest/java/edu/bu/ec327/ExampleInstrumentedTest.java +1 −1 Original line number Diff line number Diff line package edu.bu.myapplication; package edu.bu.ec327; import android.content.Context; Loading app/src/main/java/edu/bu/ec327/MainActivity.java 0 → 100644 +190 −0 Original line number Diff line number Diff line package edu.bu.ec327; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import edu.bu.myapplication.R; /* Based on Android Calculator sample code. See https://github.com/projectworldsofficial/Android-Calculator-App-Project-Source-Code for original code. */ public class MainActivity extends AppCompatActivity { Button button0; Button button1; Button button2; Button button3; Button button4; Button button5; Button button6; Button button7; Button button8; Button button9; Button buttonAdd; Button buttonSubtract; Button buttonMul; Button buttonDiv; Button buttonClear; Button buttonEqual; String result; String tmp; String operator; TextView resultTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initControl(); initControlListener(); makeToast("onCreate()"); } @Override protected void onStart() { super.onStart(); makeToast("onStart()"); } @Override protected void onResume() { super.onResume(); makeToast("onResume()"); } @Override protected void onPause() { super.onPause(); makeToast("onPause()"); } @Override protected void onStop() { super.onStop(); makeToast("onStop()"); } @Override protected void onDestroy() { super.onDestroy(); makeToast("onDestroy()"); } @Override protected void onRestart() { super.onRestart(); makeToast("onRestart()"); } private void initControlListener() { button0.setOnClickListener(v -> onNumberButtonClicked("0")); button1.setOnClickListener(v -> onNumberButtonClicked("1")); button2.setOnClickListener(v -> onNumberButtonClicked("2")); button3.setOnClickListener(v -> onNumberButtonClicked("3")); button4.setOnClickListener(v -> onNumberButtonClicked("4")); button5.setOnClickListener(v -> onNumberButtonClicked("5")); button6.setOnClickListener(v -> onNumberButtonClicked("6")); button7.setOnClickListener(v -> onNumberButtonClicked("7")); button8.setOnClickListener(v -> onNumberButtonClicked("8")); button9.setOnClickListener(v -> onNumberButtonClicked("9")); buttonClear.setOnClickListener(v -> onClearButtonClicked()); buttonSubtract.setOnClickListener(v -> onOperatorButtonClicked("-")); buttonAdd.setOnClickListener(v -> onOperatorButtonClicked("+")); buttonMul.setOnClickListener(v -> onOperatorButtonClicked("X")); buttonDiv.setOnClickListener(v -> onOperatorButtonClicked("/")); buttonEqual.setOnClickListener(v -> onEqualButtonClicked()); } private void onEqualButtonClicked() { int res = 0; try { int number = Integer.parseInt(tmp); int number2 = Integer.valueOf(resultTextView.getText().toString()); switch (operator) { case "+": res = number + number2; break; case "/": res = number / number2; break; case "-": res = number - number2; break; case "X": res = number * number2; break; } result = String.valueOf(res); resultTextView.setText(result); } catch (Exception e) { e.printStackTrace(); } } private void onOperatorButtonClicked(String operator) { tmp = resultTextView.getText().toString(); onClearButtonClicked(); this.operator = operator; } private void onClearButtonClicked() { result = ""; resultTextView.setText(""); } private void onNumberButtonClicked(String pos) { result = resultTextView.getText().toString(); result = result + pos; resultTextView.setText(result); } private void initControl() { 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); buttonAdd = (Button)findViewById(R.id.buttonAdd); buttonClear = (Button)findViewById(R.id.buttonClear); buttonSubtract = (Button)findViewById(R.id.buttonSub); buttonMul = (Button)findViewById(R.id.buttonMul); buttonDiv = (Button)findViewById(R.id.buttonDiv); buttonEqual = (Button)findViewById(R.id.buttonEqual); resultTextView = (TextView)findViewById(R.id.text_view_result); } /** * Show a Toast of the given string * * @param str The string to show in the Toast */ public void makeToast(String str) { runOnUiThread(() -> Toast.makeText(this, str, Toast.LENGTH_LONG).show()); } } No newline at end of file app/src/main/java/edu/bu/myapplication/MainActivity.javadeleted 100644 → 0 +0 −14 Original line number Diff line number Diff line package edu.bu.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } No newline at end of file app/src/main/res/layout/activity_main.xml +106 −9 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" <TableLayout 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" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> android:id="@+id/text_view_result" android:textSize="60sp" android:textAlignment="viewEnd"/> <TableRow android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button1" android:text="1" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button2" android:text="2" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button3" android:text="3" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/buttonAdd" android:text="+" android:layout_weight="1" android:textSize="20sp"/> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button4" android:text="4" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button5" android:text="5" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button6" android:text="6" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/buttonSub" android:text="-" android:layout_weight="1" android:textSize="20sp"/> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button7" android:text="7" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button8" android:text="8" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button9" android:text="9" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/buttonMul" android:text="*" android:layout_weight="1" android:textSize="20sp"/> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/buttonClear" android:text="CLEAR" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button0" android:text="0" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/buttonEqual" android:text="=" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/buttonDiv" android:text="/" android:layout_weight="1" android:textSize="20sp"/> </TableRow> </androidx.constraintlayout.widget.ConstraintLayout> No newline at end of file </TableLayout> app/src/main/res/values/strings.xml +1 −1 Original line number Diff line number Diff line <resources> <string name="app_name">My Application</string> <string name="app_name">Android Calc Demo</string> </resources> No newline at end of file Loading
app/src/androidTest/java/edu/bu/myapplication/ExampleInstrumentedTest.java→app/src/androidTest/java/edu/bu/ec327/ExampleInstrumentedTest.java +1 −1 Original line number Diff line number Diff line package edu.bu.myapplication; package edu.bu.ec327; import android.content.Context; Loading
app/src/main/java/edu/bu/ec327/MainActivity.java 0 → 100644 +190 −0 Original line number Diff line number Diff line package edu.bu.ec327; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import edu.bu.myapplication.R; /* Based on Android Calculator sample code. See https://github.com/projectworldsofficial/Android-Calculator-App-Project-Source-Code for original code. */ public class MainActivity extends AppCompatActivity { Button button0; Button button1; Button button2; Button button3; Button button4; Button button5; Button button6; Button button7; Button button8; Button button9; Button buttonAdd; Button buttonSubtract; Button buttonMul; Button buttonDiv; Button buttonClear; Button buttonEqual; String result; String tmp; String operator; TextView resultTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initControl(); initControlListener(); makeToast("onCreate()"); } @Override protected void onStart() { super.onStart(); makeToast("onStart()"); } @Override protected void onResume() { super.onResume(); makeToast("onResume()"); } @Override protected void onPause() { super.onPause(); makeToast("onPause()"); } @Override protected void onStop() { super.onStop(); makeToast("onStop()"); } @Override protected void onDestroy() { super.onDestroy(); makeToast("onDestroy()"); } @Override protected void onRestart() { super.onRestart(); makeToast("onRestart()"); } private void initControlListener() { button0.setOnClickListener(v -> onNumberButtonClicked("0")); button1.setOnClickListener(v -> onNumberButtonClicked("1")); button2.setOnClickListener(v -> onNumberButtonClicked("2")); button3.setOnClickListener(v -> onNumberButtonClicked("3")); button4.setOnClickListener(v -> onNumberButtonClicked("4")); button5.setOnClickListener(v -> onNumberButtonClicked("5")); button6.setOnClickListener(v -> onNumberButtonClicked("6")); button7.setOnClickListener(v -> onNumberButtonClicked("7")); button8.setOnClickListener(v -> onNumberButtonClicked("8")); button9.setOnClickListener(v -> onNumberButtonClicked("9")); buttonClear.setOnClickListener(v -> onClearButtonClicked()); buttonSubtract.setOnClickListener(v -> onOperatorButtonClicked("-")); buttonAdd.setOnClickListener(v -> onOperatorButtonClicked("+")); buttonMul.setOnClickListener(v -> onOperatorButtonClicked("X")); buttonDiv.setOnClickListener(v -> onOperatorButtonClicked("/")); buttonEqual.setOnClickListener(v -> onEqualButtonClicked()); } private void onEqualButtonClicked() { int res = 0; try { int number = Integer.parseInt(tmp); int number2 = Integer.valueOf(resultTextView.getText().toString()); switch (operator) { case "+": res = number + number2; break; case "/": res = number / number2; break; case "-": res = number - number2; break; case "X": res = number * number2; break; } result = String.valueOf(res); resultTextView.setText(result); } catch (Exception e) { e.printStackTrace(); } } private void onOperatorButtonClicked(String operator) { tmp = resultTextView.getText().toString(); onClearButtonClicked(); this.operator = operator; } private void onClearButtonClicked() { result = ""; resultTextView.setText(""); } private void onNumberButtonClicked(String pos) { result = resultTextView.getText().toString(); result = result + pos; resultTextView.setText(result); } private void initControl() { 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); buttonAdd = (Button)findViewById(R.id.buttonAdd); buttonClear = (Button)findViewById(R.id.buttonClear); buttonSubtract = (Button)findViewById(R.id.buttonSub); buttonMul = (Button)findViewById(R.id.buttonMul); buttonDiv = (Button)findViewById(R.id.buttonDiv); buttonEqual = (Button)findViewById(R.id.buttonEqual); resultTextView = (TextView)findViewById(R.id.text_view_result); } /** * Show a Toast of the given string * * @param str The string to show in the Toast */ public void makeToast(String str) { runOnUiThread(() -> Toast.makeText(this, str, Toast.LENGTH_LONG).show()); } } No newline at end of file
app/src/main/java/edu/bu/myapplication/MainActivity.javadeleted 100644 → 0 +0 −14 Original line number Diff line number Diff line package edu.bu.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } No newline at end of file
app/src/main/res/layout/activity_main.xml +106 −9 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" <TableLayout 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" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> android:id="@+id/text_view_result" android:textSize="60sp" android:textAlignment="viewEnd"/> <TableRow android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button1" android:text="1" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button2" android:text="2" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button3" android:text="3" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/buttonAdd" android:text="+" android:layout_weight="1" android:textSize="20sp"/> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button4" android:text="4" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button5" android:text="5" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button6" android:text="6" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/buttonSub" android:text="-" android:layout_weight="1" android:textSize="20sp"/> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button7" android:text="7" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button8" android:text="8" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button9" android:text="9" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/buttonMul" android:text="*" android:layout_weight="1" android:textSize="20sp"/> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/buttonClear" android:text="CLEAR" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/button0" android:text="0" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/buttonEqual" android:text="=" android:layout_weight="1" android:textSize="20sp"/> <Button android:id="@+id/buttonDiv" android:text="/" android:layout_weight="1" android:textSize="20sp"/> </TableRow> </androidx.constraintlayout.widget.ConstraintLayout> No newline at end of file </TableLayout>
app/src/main/res/values/strings.xml +1 −1 Original line number Diff line number Diff line <resources> <string name="app_name">My Application</string> <string name="app_name">Android Calc Demo</string> </resources> No newline at end of file