Android application keeps crashing (Android Studio)

Rus*_*her -3 java android android-emulator

I am trying to design a simple calculator in android studio, but whenever i run my app on the emulator, it crashes. After a few tries, it eventually opens and shows the UI, but whenever i click on a button, it crashes. I'm new to android studio, so some tips on how my code is causing it to crash would be appreciated.

This is my XML:

<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.calc.basiccalculator.MainActivity"
tools:layout_editor_absoluteY="81dp"
tools:layout_editor_absoluteX="0dp">

<TextView
    android:id="@+id/outputText"
    android:layout_width="0dp"
    android:layout_height="47dp"
    android:text="0"
    android:textAlignment="textEnd"
    android:textSize="33dp"
    android:layout_marginRight="17dp"
    android:layout_marginBottom="19dp"
    android:layout_marginEnd="17dp"

    tools:layout_constraintTop_creator="1"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/equals"
    android:layout_marginStart="17dp"
    app:layout_constraintRight_toRightOf="parent"
    android:layout_marginTop="18dp"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginLeft="17dp" />

<Button
    android:id="@+id/one"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="1"
    android:onClick="pressOne"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/zero"
    app:layout_constraintRight_toRightOf="@+id/four"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/four" />

<Button
    android:id="@+id/three"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:text="3"
    android:onClick="pressThree"
    tools:layout_constraintTop_creator="1"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toBottomOf="@+id/two"
    app:layout_constraintRight_toRightOf="@+id/six"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/six"
    app:layout_constraintTop_toTopOf="@+id/two" />

    <Button
    android:id="@+id/four"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="4"
        android:onClick="pressFour"
        tools:layout_constraintRight_creator="1"
        tools:layout_constraintBottom_creator="1"
        app:layout_constraintBottom_toTopOf="@+id/one"
        app:layout_constraintRight_toRightOf="@+id/seven"
        tools:layout_constraintLeft_creator="1"
        app:layout_constraintLeft_toLeftOf="@+id/seven" />

<Button
    android:id="@+id/five"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="5"
    android:onClick="pressFive"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/two"
    app:layout_constraintRight_toRightOf="@+id/two"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/two" />

<Button
    android:id="@+id/two"
    android:layout_width="124dp"
    android:layout_height="75dp"
    android:onClick="pressTwo"
    android:text="2"
    tools:layout_constraintRight_creator="1"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintBaseline_toBaselineOf="@+id/one"
    tools:layout_constraintBaseline_creator="1"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="parent"
    tools:layout_editor_absoluteY="433dp" />

<Button
    android:id="@+id/six"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="6"
    android:onClick="pressSix"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/three"
    app:layout_constraintRight_toRightOf="@+id/nine"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/nine" />

<Button
    android:id="@+id/eight"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="8"
    android:onClick="pressEight"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/five"
    app:layout_constraintRight_toRightOf="@+id/five"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/five" />

<Button
    android:id="@+id/nine"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="9"
    android:onClick="pressNine"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/six"
    app:layout_constraintRight_toRightOf="@+id/subtract"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/subtract" />

<Button
    android:id="@+id/seven"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:onClick="pressSeven"
    android:text="7"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/four"
    app:layout_constraintRight_toRightOf="@+id/clear"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/clear" />

<Button
    android:id="@+id/zero"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="0"
    android:onClick="pressZero"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintRight_toRightOf="@+id/one"
    tools:layout_constraintLeft_creator="1"
    android:layout_marginBottom="16dp"
    app:layout_constraintLeft_toLeftOf="@+id/one"
    app:layout_constraintHorizontal_bias="0.0" />

<Button
    android:id="@+id/clear"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="CE"
    android:onClick="clear"
    app:layout_constraintRight_toLeftOf="@+id/plus"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/seven"
    android:layout_marginStart="16dp"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="parent"
    android:layout_marginLeft="16dp" />

<Button
    android:id="@+id/subtract"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="-"
    android:onClick="pressSubtract"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/nine"
    app:layout_constraintRight_toRightOf="@+id/divide"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/divide" />

<Button
    android:id="@+id/plus"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="+"
    android:onClick="pressPlus"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/multiply"
    app:layout_constraintRight_toRightOf="@+id/multiply"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/multiply" />

<Button
    android:id="@+id/multiply"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="*"
    android:onClick="pressMultiply"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/eight"
    app:layout_constraintRight_toRightOf="@+id/eight"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/eight" />

<Button
    android:id="@+id/divide"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="/"
    android:onClick="pressDivide"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/subtract"
    android:layout_marginStart="1dp"
    android:layout_marginEnd="16dp"
    app:layout_constraintRight_toRightOf="parent"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toRightOf="@+id/plus"
    android:layout_marginLeft="1dp"
    android:layout_marginRight="16dp" />

<Button
    android:id="@+id/backspace"
    android:layout_width="0dp"
    android:layout_height="75dp"
    android:text="DEL"
    android:onClick="pressBack"
    tools:layout_constraintRight_creator="1"
    app:layout_constraintRight_toRightOf="@+id/clear"
    app:layout_constraintBaseline_toBaselineOf="@+id/plus"
    tools:layout_constraintBaseline_creator="1"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/clear"
    app:layout_constraintHorizontal_bias="0.0" />

<Button
    android:id="@+id/equals"
    android:layout_width="0dp"
    android:layout_height="53dp"
    android:text="="
    android:onClick="pressEquals"
    tools:layout_constraintTop_creator="1"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toBottomOf="@+id/divide"
    app:layout_constraintRight_toRightOf="@+id/divide"
    android:layout_marginTop="84dp"
    tools:layout_constraintLeft_creator="1"
    android:layout_marginBottom="75dp"
    app:layout_constraintLeft_toLeftOf="@+id/divide"
    app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

And this is my Code :

package com.calc.basiccalculator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

  String operation;
  CharSequence num1;
  CharSequence num2;
  TextView t;
  String n1;
  String n2;
  int number1;
  int number2;
  int output;
  String out;
  CharSequence temp;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    t = (TextView) findViewById(R.id.outputText);
    operation = "";
    num1 = "";
    num2 = "";
    n1 = "";
    n2 = "";
    number1 = 1;
    number2 = 0;
    output = 0;
    out = "";
    temp = "";
}

public void pressOne() {
    temp = t.getText();
    if (temp == "0") {
        t.clearComposingText();
        t.setText("1");
    }
    else {
        t.append("1");
    }
}
public void pressTwo() {
    temp = t.getText();
    if (temp == "0") {
        t.clearComposingText();
        t.setText("2");
    }
    else {
        t.append("2");
    }
}
public void pressThree() {
    temp = t.getText();
    if (temp == "0") {
        t.clearComposingText();
        t.setText("3");
    }
    else {
        t.append("3");
    }
}
public void pressFour() {
    temp = t.getText();
    if (temp == "0") {
        t.clearComposingText();
        t.setText("4");
    }
    else {
        t.append("4");
    }
}
public void pressFive() {
    temp = t.getText();
    if (temp == "0" && operation == "") {
        t.clearComposingText();
        t.setText("5");
    }
    else {
        t.append("5");
    }
}
public void pressSix() {
    temp = t.getText();
    if (temp == "0") {
        t.clearComposingText();
        t.setText("6");
    }
    else {
        t.append("6");
    }
}
public void pressSeven() {
    temp = t.getText();
    if (temp == "0") {
        t.clearComposingText();
        t.setText("7");
    }
    else {
        t.append("7");
    }
}
public void pressEight() {
    temp = t.getText();
    if (temp == "0") {
        t.clearComposingText();
        t.setText("8");
    }
    else {
        t.append("8");
    }
}
public void pressNine() {
    temp = t.getText();
    if (temp == "0") {
        t.clearComposingText();
        t.setText("9");
    }
    else {
        t.append("9");
    }
}
public void pressZero() {
    temp = t.getText();
    if (temp == "0") {
        t.clearComposingText();
        t.setText("0");
    }
    else {
        t.append("0");
    }
}
public void pressSubtract() {
    num1 = t.getText();
    t.clearComposingText();
    operation = "-";
}
public void pressPlus() {
        num1 = t.getText();
        t.clearComposingText();
        operation = "+";
}
public void pressMultiply() {
    num1 = t.getText();
    t.clearComposingText();
    operation = "*";
}
public void pressDivide() {
    num1 = t.getText();
    t.clearComposingText();
    operation = "/";
}
public void clear() {
    t.clearComposingText();
}
public void pressEquals() {
    if (operation == "+") {
        num2 = t.getText();
        n1 = num1.toString();
        n2 = num2.toString();
        number1 = Integer.parseInt(n1);
        number2 = Integer.parseInt(n2);
        output = number1 + number2;
    }
    if (operation == "-") {
        num2 = t.getText();
        n1 = num1.toString();
        n2 = num2.toString();
        number1 = Integer.parseInt(n1);
        number2 = Integer.parseInt(n2);
        output = number1 - number2;
    }
    if (operation == "*") {
        num2 = t.getText();
        n1 = num1.toString();
        n2 = num2.toString();
        number1 = Integer.parseInt(n1);
        number2 = Integer.parseInt(n2);
        output = number1 * number2;
    }
    if (operation == "/") {
        num2 = t.getText();
        n1 = num1.toString();
        n2 = num2.toString();
        number1 = Integer.parseInt(n1);
        number2 = Integer.parseInt(n2);
        output = number1 / number2;
    }
    t.clearComposingText();
    out = String.valueOf(output);
    t.append(out);
    operation = "";

  }
}
Run Code Online (Sandbox Code Playgroud)

rck*_*krd 5

You can easily find the errors that cause any crash by investigating the log output, you find the log in the Android Monitor window, as can be seen in the image below.

在此输入图像描述

When assigning a method in the XML layout using the android:onClick attribute, the method must be public and accept a View as the only parameter. This is explained in the Android Developer reference.

The methods in your code are all missing the View parameter.

public void onClickExampleMethod(View view) {
 // Handle click
}
Run Code Online (Sandbox Code Playgroud)