[JAVA] Über die Grundlagen der Android-Entwicklung

Einführung

Hallo. Ich bin Wataku, ein serverseitiger Programmierer, der an einer bestimmten Schule Programmieren studiert. : entspannt: Lassen Sie uns auch dieses Mal Android entwickeln. Diesmal habe ich eine Anfrage erhalten, daher werde ich die Anfrage beantworten und auf leicht verständliche Weise über die Grundlagen der Android-Entwicklung schreiben.

Zielperson

Schreibe diesmal nicht

Was zu machen

Wenn Sie einen Namen eingeben und die Taste drücken, werden der im Anzeigebereich unten eingegebene Name und die Zeichenfolge "-san, nice" angezeigt.

Bildschirm

Ich werde einen Bildschirm mit einer XML-Datei erstellen

activity_button_click_sample.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/tv_name" />

    <EditText
        android:id="@+id/etName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="text"/>

    <Button
        android:id="@+id/btClick"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/bt_click"/>

    <TextView
        android:id="@+id/tvOutput"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="25dp"
        android:text=""
        android:textSize="25dp"/>

</LinearLayout>

Kommentar

Etikett

--LinearLayout: Layout, das beim vertikalen oder horizontalen Anordnen von Teilen verwendet wird. --TextView: Erstellen Sie einen Anzeigebereich --EditText: Erstellen Sie einen Eingabebereich

Attribut

Gemeinsame Attribute

①android:layout_width="〜〜〜"
②android:layout_height="〜〜〜"

① Breitenattribut ② Höhenattribut


Werte, die innerhalb von ~ ~ ~
liegen

--match_parent: Erweitern Sie, um den Bildschirm auszufüllen. --wrap_content: Es wird in einer geeigneten Größe angezeigt.

LinearLayout-Attribute

android:orientation="〜〜〜"


Werte, die innerhalb von ~ ~ ~
liegen

--Vertikal: Vertikal anordnen --horizontal: nebeneinander

Attribute, die außerhalb von LinearLayout verwendet werden

android:text="Wert Wert"
* Normalerweise "Zeichenfolge".Bild, aus dem gelesen werden soll, indem der Inhalt angegeben wird, der in "xml" ausgegeben werden soll.

Beispiel


android:text="@string/bt_click"
android:id="@+id/ID (Name) zum Erwerb von Teilen in der Aktivität"
→ R-Wert: Die Datei im res-Ordner und das "" dieser Datei@ + id/Da der Wert von "" ein Verwaltungsziel ist, handelt es sich um eine Ganzzahl vom Typ int, die die Datei oder den Wert identifiziert.
Es wird automatisch generiert.

Beispiel


android:id="@+id/tvOutput"

In EditText verwendete Attribute

android:inputType="〜〜〜"

~ ~ ~: Typ des Eingabetyps

** ** keine Kann nicht eingegeben werden. Text Gewöhnlicher Text. textCapCharacters Wenn Sie alle Großbuchstaben eingeben. textCapWords Bei Eingabe des Wortanfangs in Großbuchstaben. textCapSentences Bei Eingabe des Satzanfangs in Großbuchstaben. textAutoCorrect Zum automatischen Korrigieren der Zeicheneingabe. textAutoComplete Beim Vervollständigen von Zeichen. textMultiLine Bei der Eingabe mehrerer Zeichenzeilen. textImeMultiLine Wenn während der normalen Zeicheneingabe keine Mehrfacheingabe zulässig ist und die Mehrzeileneingabe von IME festgelegt wird. Bei der Eingabe der textUri-URL. textEmailAddress Bei der Eingabe einer E-Mail-Adresse. textEmailSubject Bei der Eingabe des Betreffs einer E-Mail. textShortMessage Bei der Eingabe einer Kurznachricht. textLongMessage Bei der Eingabe einer langen Nachricht. textPersonName Bei der Eingabe des Namens einer Person. textPostalAddress Bei der Eingabe einer Adresse. textPassword Bei der Eingabe eines Passworts. textVisiblePassword Wenn Sie die Zeichen des Passworts eingeben, indem Sie sie anzeigen. textWebEditText Bei der Eingabe von HTML. textFilter Geben Sie Zeichen ein, die nach anderen Daten gefiltert wurden. textPhonetic Bei der Eingabe phonetischer Symbole. Nummer Bei Eingabe eines Zahlenwertes. numberSigned Bei der Eingabe einer signierten Nummer. numberDecimal Bei der Eingabe eines Bruchs. Telefon Bei der Eingabe einer Telefonnummer. datetime Bei der Eingabe einer Datums- und Uhrzeitangabe. Datum Bei der Eingabe eines Datums. Zeit Bei der Eingabe der Zeit.

Aktivität (Verarbeitung)

Ich werde es in Java schreiben.

ButtonClickSampleActivity.java


public class ButtonClickSampleActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button_click_sample);

        Button button = findViewById(R.id.btClick);
        ButtonClickListener listener = new ButtonClickListener();
        button.setOnClickListener(listener);
    }

    /**
     *Eine Mitgliedsklasse, die beschreibt, was passiert, wenn eine Taste gedrückt wird
     */
    private class ButtonClickListener implements View.OnClickListener {

        @Override
        public void onClick(View view) {
            EditText input = findViewById(R.id.etName);
            String inputStr = input.getText().toString();

            TextView output = findViewById(R.id.tvOutput);
            output.setText(inputStr + "San, schön! !!" );
        }
    }
}

Kommentar

AppCompatActivity erben.

onCreate () -Methode

Erwerb von Bildschirmteilen

Verwenden Sie ** findViewById () ** und geben Sie den R-Wert (ID, die an das Teil angehängt ist) des Teils als Argument an.

EditText input = findViewById(R.id.etName)

Holen Sie sich eine Zeichenfolge

Verwenden Sie ** getText (). ToString () **.

input.getString().toString()

Betten Sie eine Zeichenfolge ein

Verwenden Sie ** setText ("eingebetteter String") **.

TextView output = findViewById(R.id.tvOutput);//Teilebeschaffung
output.setText(inputStr + "San, schön! !!" );

Ereignis-Listener

--Event: Der Benutzer führt etwas auf dem Bildschirm aus. --Event-Handler: Die Verarbeitung wird als Reaktion auf ein Ereignis ausgeführt. --Listener: Überprüfen Sie dieses Ereignis.

Verfahren zum Einstellen des Listeners

(1) Erstellen Sie eine Listener-Klasse, die jedem Ereignis als Mitgliedsklasse entspricht. (2) Schreiben Sie den Prozess in der in der Schnittstelle definierten Methode. ③ Stellen Sie den Listener durch "neu" auf die Listener-Klasse ein.

Beispiel) (Button-Click-Listener)

Button button = findViewById(R.id.btClick);
ButtonClickListener listener = new ButtonClickListener();
button.setOnClickListener(listener);

private class ButtonClickListener implements View.OnClickListener {

        @Override
        public void onClick(View view) {
            EditText input = findViewById(R.id.etName);
            String inputStr = input.getText().toString();

            TextView output = findViewById(R.id.tvOutput);
            output.setText(inputStr + "San, schön! !!" );
        }
}

Sie können auch mit einer anonymen Funktion schreiben (Nachschlagewerke werden häufig auf diese Weise geschrieben). Was sie tun, ist dasselbe.

findViewById(R.id.btClick).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                EditText input = findViewById(R.id.etName);
                String inputStr = input.getText().toString();

                TextView output = findViewById(R.id.tvOutput);
                output.setText(inputStr + "San, schön! !!" );
            }
});

das ist alles. Es war die Basis der Android-Entwicklung. Wenn Sie Vorschläge wie etwas falsches haben, kontaktieren Sie uns bitte. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Über die Grundlagen der Android-Entwicklung
Verstehen Sie die Grundlagen von Android Audio Record
Über den Umgang mit Null
Docker-Überwachung - Erläuterung der Grundlagen der Grundlagen
Informationen zur Beschreibung von Docker-compose.yml
Über den Android-Lebenszyklus
Ich habe die Listenansicht der Android-Entwicklung gemeinsam gesehen
Über das Verhalten von Ruby Hash # ==
Informationen zum Abschneiden von Zeichenfolgen um die Anzahl der Bytes unter Android
Die Grundlagen von SpringBoot + MyBatis + MySQL
Informationen zur aktuellen Entwicklungsumgebung (Java 8)
Informationen zur Rolle der Initialisierungsmethode
Denken Sie an die 7 Regeln von Optional
Informationen zur Protokollebene von java.util.logging.Logger
Vorbereitung für die Android-Entwicklung von POCOPHONE f1
Was ist ein Test? ・ Über die Wichtigkeit eines Tests
Jetzt habe ich die Grundlagen von RecyclerView zusammengefasst
Informationen zur Funktionsweise von next () und nextLine ()
[Tag: 5] Ich habe die Grundlagen von Java zusammengefasst
Informationen zur ersten Anzeige von Spring Framework
Rückblick auf die Grundlagen von Java
Über die Behandlung von BigDecimal (mit Reflexion)
Über die Anzahl der Threads von Completable Future
Grundlagen von Ruby
Über die Methode
[Einführung in Ruby] Über die Rolle von true und break in der while-Anweisung
Android-Entwicklung app_preparation
Über das Paket
Android-Entwicklung, wie man den Wert des JSON-Objekts auf null überprüft
Was ist JSP? ~ Lassen Sie uns die Grundlagen von JSP kennen !! ~
[Ruby] Zusammenfassung der Klassendefinitionen. Beherrsche die Grundlagen.
Denken Sie an die Kombination von Servlet und Ajax
[Android] [Java] Verwalten Sie den Status der CheckBox von ListView
Über den offiziellen Startleitfaden für Spring Framework
Informationen zur Beschreibungsreihenfolge der Java-Systemeigenschaften
Über die Idee anonymer Klassen in Java
Ich habe die Grundlagen der Zeicheneingabe verstanden
Verbessern Sie die Leistung der Docker-Entwicklungsumgebung
Die Geschichte der Optimierung der Android-App mit libGDX
Android Studio-Entwicklung zum ersten Mal (für Anfänger)
Informationen zu next () und nextLine () der Scannerklasse
Fassen Sie den Lebenszyklus von Java-Objekten zusammen, die bei der Android-Entwicklung berücksichtigt werden müssen
Ausgabe über die Methode, Teil 2
Informationen zur StringBuilder-Klasse
Über Android grundlegende Grammatik
Die Welt der Clara-Regeln (2)
[SPA-Entwicklung mit Rails x Vue] Lernen Sie die Grundlagen von Vue.js (Übersicht über vue.js, Vorlagensyntax)
Kommentar: Über die Schnittstelle
Informationen zum Trennen () von HttpURLConnection
[Für Anfänger] DI ~ Die Grundlagen von DI und DI im Frühjahr ~
Über die Asset-Pipeline
Zusammenfassung des Android-Entwicklungslinks