** La passerelle vers le développement d'applications ** est une application de compteur (appropriée) Y compris la confirmation de sa propre compréhension Nous allons créer une application de compteur qui n'utilise pas de variables globales. Les exigences sont les suivantes.
Comme connaissance préalable
Pour les personnes qui ont touché JS jusqu'à présent mais qui souhaitent créer une application native
Tout d'abord, c'est une fonction, mais pour l'instant elle se trouve dans le répertoire res / layout Ajustez le fichier XML avec l'interface graphique (vous pouvez l'écrire dans le code). Comme ça.
C'est le 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" //Points supplémentaires
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" //Points supplémentaires
android:text="-"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
En organisant les boutons et les TextViews de manière appropriée dans l'interface graphique, Un IDE intelligent ajoutera des informations d'objet à XML sans autorisation.
Cependant, cette fois pour ajouter un événement. android: onClick = "plus ou moins" est ajouté, En dehors de cela, vous pouvez jouer avec l'interface graphique. Ensuite, écrivons la définition de la méthode à appeler dans l'événement Click. À partir de là, il peut être difficile de comprendre sans programmation.
En n'utilisant pas de variables globales, Fondamentalement, il analyse la valeur de TextView. ** L'acquisition de valeur liée à la vue semble un peu bizarre **, Il semble que la TextValue elle-même du TextView acquis soit convertie par toString ().
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);
//Convertir la valeur de texte en type chaîne
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));
}
}
//Jugement entier de chaîne
private static boolean isNumber(String str) {
try {
Integer.parseInt(str);
return true;
} catch (NumberFormatException e) {
return false;
}
}
}
Cliquez ici pour le site de référence https://qiita.com/hys-rabbit/items/1251e86d9d22507d309a https://qiita.com/gabu/items/6ed716bb9af7cc3c26a3
Recommended Posts