** Das Gateway zur App-Entwicklung ** ist eine Gegen-App (entsprechend) Einschließlich Bestätigung des eigenen Verständnisses Wir werden eine Zähler-App erstellen, die keine globalen Variablen verwendet. Die Anforderungen sind wie folgt.
Als Voraussetzung Wissen
Für Leute, die JS bisher berührt haben, aber eine native App erstellen möchten
Zunächst ist es eine Funktion, die sich jedoch vorerst im Verzeichnis res / layout befindet Optimieren Sie die XML-Datei mit der GUI (Sie können sie in Code schreiben). So was.
Dies ist der Code
activity_main.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:id="@+id/MainView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible"
tools:context="com.example.name.app_test_android.MainActivity">
<TextView
android:id="@+id/textView1"
android:layout_width="67dp"
android:layout_height="35dp"
android:layout_centerHorizontal="true"
android:layout_marginEnd="134dp"
android:layout_marginStart="183dp"
android:layout_marginTop="105dp"
android:text="0"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button"
style="@android:style/Widget.Button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="108dp"
android:layout_marginStart="54dp"
android:layout_marginTop="355dp"
android:onClick="plus" //Zusätzliche Punkte
android:text="+"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button2"
style="@android:style/Widget.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="108dp"
android:layout_marginEnd="56dp"
android:layout_marginTop="355dp"
android:onClick="minus" //Zusätzliche Punkte
android:text="- -"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
Indem Sie Schaltflächen und Textansichten in der GUI entsprechend anordnen, Eine intelligente IDE fügt XML-Objektinformationen ohne Berechtigung hinzu.
Diesmal jedoch, um ein Ereignis hinzuzufügen. android: onClick = "plus oder minus" wird hinzugefügt, Ansonsten können Sie mit der GUI spielen. Als nächstes schreiben wir die Definition der Methode, die im Click-Ereignis aufgerufen werden soll. Von hier aus kann es ohne Programmierung schwierig zu verstehen sein.
Wenn Sie keine globalen Variablen verwenden, Grundsätzlich wird der Wert von TextView analysiert. ** Ansichtsbezogene Werterfassung scheint etwas eigenartig zu sein **, Es scheint, dass der TextValue selbst der erfassten TextView von toString () konvertiert wird.
MainActivity.java
package com.example.name.app_test_android;
import android.support.v7.app.AppCompatActivity;
import java.lang.*;
import android.app.Activity;
import android.os.Bundle;
import android.view.*;
import android.widget.*;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void plus(View view) {
TextView set_view = (TextView) findViewById(R.id.textView1);
//Konvertieren Sie den Textwert in einen Zeichenfolgentyp
String countView = new String((set_view.getText()).toString());
if(isNumber(countView) == true) {
int mCount = Integer.parseInt(countView);
mCount++;
set_view.setText(String.valueOf(mCount));
}
}
public void minus(View view) {
TextView set_view = (TextView) findViewById(R.id.textView1);
String countView = new String((set_view.getText()).toString());
if(isNumber(countView) == true) {
int mCount = Integer.parseInt(countView);
mCount--;
set_view.setText(String.valueOf(mCount));
}
}
//String Integer Urteil
private static boolean isNumber(String str) {
try {
Integer.parseInt(str);
return true;
} catch (NumberFormatException e) {
return false;
}
}
}
Klicken Sie hier als Referenzseite https://qiita.com/hys-rabbit/items/1251e86d9d22507d309a https://qiita.com/gabu/items/6ed716bb9af7cc3c26a3
Recommended Posts