Wie erstellt man eine einfache Rechner-App mit Android Studio?
Voraussetzungen:
- Grundlagen der Entwicklung von Android-Apps für Anfänger
- Anleitung zum Installieren und Einrichten von Android Studio
- Android | Beginnend mit dem ersten App/Android-Projekt
- Android | Führen Sie Ihre erste Android-App aus
Erstellen Sie einen einfachen Taschenrechner, der je nach Benutzereingabe grundlegende arithmetische Operationen wie Addition, Subtraktion, Multiplikation oder Division ausführen kann. Unten finden Sie ein Beispielvideo, um eine Vorstellung davon zu bekommen, was wir in diesem Artikel tun werden. Beachten Sie, dass wir dieses Projekt mit der Java -Sprache implementieren werden.
Schritt für Schritt Umsetzung
Schritt 1: Erstellen Sie ein neues Projekt
Informationen zum Erstellen eines neuen Projekts in Android Studio finden Sie unter So erstellen/starten Sie ein neues Projekt in Android Studio . Beachten Sie, dass Sie Java als Programmiersprache auswählen .
Schritt 2: Arbeiten mit der Datei activity_main.xml
Navigieren Sie zu app > res > layout > activity_main.xml und fügen Sie den folgenden Code zu dieser Datei hinzu. Nachfolgend finden Sie den Code für die Datei activity_main.xml .
XML
<?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" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#8BC34A" android:backgroundTint="@android:color/darker_gray" tools:context=".MainActivity"> <!-- Text View to display our basic heading of "calculator"--> <TextView android:layout_width="194dp" android:layout_height="43dp" android:layout_marginStart="114dp" android:layout_marginLeft="114dp" android:layout_marginTop="58dp" android:layout_marginEnd="103dp" android:layout_marginRight="103dp" android:layout_marginBottom="502dp" android:scrollbarSize="30dp" android:text=" Calculator" android:textAppearance="@style/TextAppearance.AppCompat.Body1" android:textSize="30dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <!-- Edit Text View to input the values --> <EditText android:id="@+id/num1" android:layout_width="364dp" android:layout_height="28dp" android:layout_marginStart="72dp" android:layout_marginTop="70dp" android:layout_marginEnd="71dp" android:layout_marginBottom="416dp" android:background="@android:color/white" android:ems="10" android:hint="Number1(0)" android:inputType="number" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <!-- Edit Text View to input 2nd value--> <EditText android:id="@+id/num2" android:layout_width="363dp" android:layout_height="30dp" android:layout_marginStart="72dp" android:layout_marginTop="112dp" android:layout_marginEnd="71dp" android:layout_marginBottom="374dp" android:background="@android:color/white" android:ems="10" android:hint="number2(0)" android:inputType="number" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <!-- Text View to display result --> <TextView android:id="@+id/result" android:layout_width="356dp" android:layout_height="71dp" android:layout_marginStart="41dp" android:layout_marginTop="151dp" android:layout_marginEnd="48dp" android:layout_marginBottom="287dp" android:background="@android:color/white" android:text="result" android:textColorLink="#673AB7" android:textSize="25sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <!-- A button to perform 'sum' operation --> <Button android:id="@+id/sum" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="292dp" android:layout_marginEnd="307dp" android:layout_marginBottom="263dp" android:backgroundTint="@android:color/holo_red_light" android:onClick="doSum" android:text="+" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <!-- A button to perform subtraction operation. --> <Button android:id="@+id/sub" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="210dp" android:layout_marginTop="292dp" android:layout_marginEnd="113dp" android:layout_marginBottom="263dp" android:backgroundTint="@android:color/holo_red_light" android:onClick="doSub" android:text="-" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <!-- A button to perform division. --> <Button android:id="@+id/div" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="307dp" android:layout_marginTop="292dp" android:layout_marginEnd="16dp" android:layout_marginBottom="263dp" android:backgroundTint="@android:color/holo_red_light" android:onClick="doDiv" android:text="/" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <!-- A button to perform multiplication. --> <Button android:id="@+id/mul" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="356dp" android:layout_marginEnd="307dp" android:layout_marginBottom="199dp" android:backgroundTint="@android:color/holo_red_light" android:onClick="doMul" android:text="x" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <!-- A button to perform a modulus function. --> <Button android:id="@+id/button" android:layout_width="92dp" android:layout_height="48dp" android:layout_marginStart="113dp" android:layout_marginTop="356dp" android:layout_marginEnd="206dp" android:layout_marginBottom="199dp" android:backgroundTint="@android:color/holo_red_light" android:onClick="doMod" android:text="%(mod)" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <!-- A button to perform a power function. --> <Button android:id="@+id/pow" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="113dp" android:layout_marginTop="292dp" android:layout_marginEnd="210dp" android:layout_marginBottom="263dp" android:backgroundTint="@android:color/holo_red_light" android:onClick="doPow" android:text="n1^n2" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
Nach der Verwendung dieses Codes sieht die Benutzeroberfläche wie folgt aus:
Schritt 3: Arbeiten mit der MainActivity.java-Datei
Öffnen Sie dort die Datei MainActivity.java innerhalb der Klasse, erstellen Sie eine Methode namens doSum(View v). In dieser Methode müssen wir zunächst zwei EditText mit Variablen verknüpfen, damit wir sie für unsere Eingabe verwenden können. Verknüpfen Sie also diese Bearbeitungsfelder mit Variablen, die wir geschrieben haben
"EditText e1=(EditText )findViewById(R.id.num1);"
Hier ist num1 die ID für das Textfeld und wir geben dem Textfeld mit der ID 'num1' nur einen Variablennamen 'e1'. In ähnlicher Weise müssen wir dieselbe Anweisung für das zweite Textfeld mit dem Variablennamen „e2“ verwenden. Für das dritte Textfeld haben wir verwendet
"TextView t1=(TextView) findViewById(R.id.result);"
Hier haben wir TextView verwendet, da wir nur Text anzeigen müssen und vermeiden, dass er vom Benutzer geändert werden kann. Jetzt müssen wir Zahlen in Form von Strings mit der Funktion getText() eingeben . Die Eingabeanweisung wird sein
"String s11=e1.getText().toString();"
Hier speichert s11 die in Textbox 1 eingegebene Nummer. Wir müssen dasselbe mit einer anderen Textbox (e2) tun. Speichern Sie nun die Nummer in int-Form und wenden Sie die Addition an. Speichern Sie den Mehrwert in einer anderen Variablen. Um gespeicherte Summen anzuzeigen, müssen wir setText() wie folgt verwenden:
result.setText(final_sum.toString())
final_sum speichert die Summe und muss in string(.toString()) konvertiert werden. Unten ist der Code für die MainActivity.java -Datei. Kommentare werden innerhalb des Codes hinzugefügt, um den Code genauer zu verstehen.
Java
import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { EditText e1, e2; TextView t1; int num1, num2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // a public method to get the input numbers public boolean getNumbers() { // defining the edit text 1 to e1 e1 = (EditText) findViewById(R.id.num1); // defining the edit text 2 to e2 e2 = (EditText) findViewById(R.id.num2); // defining the text view to t1 t1 = (TextView) findViewById(R.id.result); // taking input from text box 1 String s1 = e1.getText().toString(); // taking input from text box 2 String s2 = e2.getText().toString(); // condition to check if box is not empty if ((s1.equals(null) && s2.equals(null)) || (s1.equals("") && s2.equals(""))) { String result = "Please enter a value"; t1.setText(result); return false; } else { // converting string to int. num1 = Integer.parseInt(s1); // converting string to int. num2 = Integer.parseInt(s2); } return true; } // a public method to perform addition public void doSum(View v) { // get the input numbers if (getNumbers()) { int sum = num1 + num2; t1.setText(Integer.toString(sum)); } } // a public method to perform power function public void doPow(View v) { // get the input numbers if (getNumbers()) { double sum = Math.pow(num1, num2); t1.setText(Double.toString(sum)); } } // a public method to perform subtraction public void doSub(View v) { // get the input numbers if (getNumbers()) { int sum = num1 - num2; t1.setText(Integer.toString(sum)); } } // a public method to perform multiplication public void doMul(View v) { // get the input numbers if (getNumbers()) { int sum = num1 * num2; t1.setText(Integer.toString(sum)); } } // a public method to perform Division public void doDiv(View v) { // get the input numbers if (getNumbers()) { // displaying the text in text view assigned as t1 double sum = num1 / (num2 * 1.0); t1.setText(Double.toString(sum)); } } // a public method to perform modulus function public void doMod(View v) { // get the input numbers if (getNumbers()) { double sum = num1 % num2; t1.setText(Double.toString(sum)); } } }
Ausgabe: