[JAVA] Ich habe die Datei untersucht, die bei der Auswahl von Leere Aktivität in Android Studio erstellt wurde

Wenn Sie in Android Studio ein neues Projekt über "Neues Android Studio-Projekt starten" erstellen, wird die Vorlagenliste angezeigt. Ich benutze oft "Leere Aktivität", aber ich bin dankbar, dass die Vorlagen von Anfang an verschiedene nützliche vorbereiten, aber ehrlich gesagt Nanikore? Da viele Dateien aufgerufen werden, habe ich es überprüft. Kurz gesagt, es ist ein Memorandum.

Umgebung

Dateiorganisation

Eine Frage, die ich mich gefragt habe, ist, ob sich Java und Kotlin von der Vorlage unterscheiden. Also habe ich die Java-Version als "myapplication1" und die Kotlin-Version als "myapplication2" erstellt.

Übrigens ist "com.sirius.software" der Paketname, den ich persönlich benutze.

configure_your_project.png

Das Ergebnis der Erweiterung aller von der Vorlage erstellten Elemente ist wie folgt. Die Java-Version befindet sich links und die Kotlin-Version rechts.

java_kotlin.png

Auf den ersten Blick scheint es keinen großen Unterschied zu machen, Nur die Kotlin-Version hatte von Anfang an ein Element namens "generateJava". Als ich die Java-Version erstellt habe, wurde sie als Element angezeigt. Ich denke, die Kotlin-Version wurde zu Beginn einmal erstellt.

Dateien unter App

app/manifests/AndroidManifest.xml

Enthält Informationen zu Android-Apps. Ist es eine Übersicht über die App vom Android-System aus gesehen? Es wird wahrscheinlich hauptsächlich beim Hinzufügen / Ändern / Löschen von Aktivitäten bearbeitet.

Es gibt keinen Unterschied in Java / Kotlin. Ich habe einen Kommentar über das Tag und jedes Element geschrieben (ich habe es persönlich recherchiert).

AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>

<!--
<manifest> AndroidManifest.XML-Stammelement
・ Xmlns:android =Gibt an, dass es sich um eine XML-Datei für Android handelt
・ Paket=Paketnamen
-->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sirius.software.myapplication1">

    <!--
    <application>Anwendungsweite Konfigurationselemente
· Android:allowBackup =Gibt an, ob die Anwendungsdaten auf GoogleDrive usw. gesichert werden sollen.
· Android:icon        =Geben Sie die Ressource des App-Symbols an
· Android:label       =Geben Sie den Anzeigenamen der App an
· Android:roundIcon   = Android 7.Geben Sie die Ressource des runden Symbols an, die 1 oder höher entspricht
· Android:supportRtl  =Unterstützt es Layouts, in denen Sätze von rechts nach links angezeigt werden, z. B. auf Arabisch?
· Android:theme       =Geben Sie das Standardthema für die Aktivität an
    -->

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <!--
        <activity>Festlegen von Elementen für jede Aktivität
· Android:name =Name der Aktivitätsressource
        -->

        <activity android:name=".MainActivity">

            <!--
            <intent-filter>Gibt den Typ der impliziten Absicht an, die verarbeitet werden kann
Diese App teilt beispielsweise Android-Systemen mit, dass sie Anrufe tätigen können
Wenn du Android zeigen willst.intent.action.CALL hinzufügen
            -->

            <intent-filter>
                <!-- .Zeigt an, dass MainActivity beim Starten der App angezeigt wird-->
                <action android:name="android.intent.action.MAIN" />

                <!--Zeigt an, dass es über das Home-Symbol gestartet werden kann-->
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

app/java/com.sirius.software.myapplication1/MainActivity.java

Quellcode für die Hauptaktivität. Ohne dies wird beim Starten der App nichts angezeigt. Die Aktionsleiste ist die titelanzeigeähnliche Stelle, die oben in der Aktivität angezeigt wird.

Die Java-Version erfordert ein Semikolon am Ende der Zeile.

MainActivity.java


//Paketdeklaration
package com.sirius.software.myapplication1;

//Erforderlich beim Erstellen einer Aktivität mit einer Aktionsleiste
import android.support.v7.app.AppCompatActivity;

//Erforderlich, damit das Android-System den Aktivitätsstatus verwaltet
import android.os.Bundle;

//Einstiegspunkt (hier beginnen)
public class MainActivity extends AppCompatActivity {

    //onCreate-Ereignishandler
    //Wird aufgerufen, wenn die Aktivität gestartet wird
    //Beim Überschreiben von Anmerkungen wird vorhandenes onCreate wiederverwendet
    //Praktisch, weil Sie nicht die grundlegende Magie der Aktivität schreiben müssen
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        //Rufen Sie onCreate der Superklasse auf
        //savedInstanceState speichert den Status der Aktivität
        super.onCreate(savedInstanceState);

        //Lesen Sie die Layoutdatei und zeigen Sie sie an
        setContentView(R.layout.activity_main);
    }
}

app/java/com.sirius.software.myapplication2/MainActivity.kt

Dies ist die Hauptaktivität der Kotlin-Version. Es ist kein Semikolon erforderlich.

MainActivity.kt


package com.sirius.software.myapplication2

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

//public wird weggelassen und das Extended-Schlüsselwort lautet:Gewechselt zu
class MainActivity : AppCompatActivity() {

    //Anmerkungen wurden weggelassen und onCreate wurde aktualisiert
    // Bundle?Hatena gibt an, dass der Wert Null sein kann (nullbar)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

app/generatedJava/com.sirius.software.myapplication*/BuildConfig

Wenn Sie die Verarbeitung zwischen Debug-Build und Release-Build trennen möchten Es scheint, dass Sie es verwenden können, indem Sie BuildConfig Konstanten und Prozesse hinzufügen. Ich werde es bearbeiten, wenn diese Zeit kommt.

app/generatedJava/com.sirius.software.myapplication*.test/BuildConfig

Bedeutet dies, dass die Verarbeitung zur Erstellungszeit auch in Komponententests aufgeteilt werden kann? Ich bin mir noch nicht sicher, also werde ich es zu einem späteren Zeitpunkt nachschlagen.

app/java/com.sirius.software.myapplication*/ExampleInstrumentedTest.*

Eine Testbeispieldatei, die auf dem tatsächlichen Computer oder Emulator ausgeführt werden kann.

app/java/com.sirius.software.myapplication*/ExampleUnitTest.*

Eine Beispieldatei mit Tests, die auf Android Studio + Java Virtual Machine (JVM) ausgeführt werden können. Es scheint keine explizite Regel für den Umgang mit diesen Beispieldateien zu geben.

app/res/drawable/ic_launcher_background.xml

Legen Sie den Hintergrund fest, wenn Sie ein adaptives Symbol erstellen.

app/res/drawable/ic_launcher_foreground.xml

Stellen Sie den Vordergrund ein, wenn Sie ein adaptives Symbol erstellen. Adaptive Symbole sind ein Mechanismus zum Ausrichten (Vereinheitlichen) der Formen von App-Symbolen.

app/res/layout/activity_main.xml

Das Layout der Aktivität. Ordnen Sie die auf dem Bildschirm angezeigten Schaltflächen und Ansichten an.

activity_main.xml


<?xml version="1.0" encoding="utf-8"?>

<!--
<android.support.constraint.ConstraintLayout>Layout automatisch optimieren
・ Xmlns:android         =Gibt an, dass es sich um eine XML-Datei für Android handelt
・ Xmlns:app             =Definieren Sie einen XML-Namespace und stellen Sie das App-Attribut zur Verfügung
・ Xmlns:tools           =Definieren Sie einen XML-Namespace und stellen Sie das tools-Attribut zur Verfügung
· Android:layout_width  =Breitenanpassung (Übereinstimmung)_parent:Anzeige, um den Anzeigebereich zu füllen)
· Android:layout_height =Höhenverstellung (Match)_parent:Anzeige, um den Anzeigebereich zu füllen)
· Werkzeuge:context         =Für welche Aktivität wird das Layout verwendet?
-->

<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=".MainActivity">

    <!--
    <TextView>Etikett anzeigen
· Android:layout_width  =Breiteneinstellung (Wrap_content:Wenn es sich um eine Zeichenfolge handelt, passen Sie ihre Länge an.
· Android:layout_height =Höhenverstellung (wickeln_content:Wenn es sich um eine Zeichenfolge handelt, passen Sie ihre Länge an.
· Android:text          =Zu zeigende Zeichenfolge
・ App:layout_constraintBottom_toBottomOf="parent"
      app:layout_constraintLeft_toLeftOf="parent"
      app:layout_constraintRight_toRightOf="parent"
      app:layout_constraintTop_toTopOf="parent"
→ Geben Sie an, wie Sie sich in Bezug auf benachbarte Ansichten im automatischen Layout anordnen möchten
    -->

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

app/res/mipmap/ic_launcher/ic_launcher.png

Es ist eine Ressourcendatei (Bilddatei) des Anwendungssymbols. Es scheint, dass die folgenden Größen für das Rasterbild vorbereitet werden sollten.

Auflösung Bildgröße
hdpi 72x72
mdpi 48x48
xhdpi 96x96
xxhdpi 144x144
xxxhdpi 192x192

app/res/mipmap/ic_launcher/ic_launcher.xml

Adaptive Symboldefinitionsdatei. Die folgenden Dateien werden gelesen. ic_launcher_background.xml ic_launcher_foreground.xml

app/res/mipmap/ic_launcher_round/ic_launcher_round.png

Es ist eine Ressourcendatei (Bilddatei) des runden Anwendungssymbols. Der einzige Unterschied zu "ic_launcher.png " besteht darin, dass die Form des Symbols rund ist.

app/res/mipmap/ic_launcher_round/ic_launcher_round.xml

Es hat den gleichen Inhalt wie "ic_launcher.xml". Dies ist auch nur ein rundes Symbol.

app/res/values/colors.xml

Definiert den Farbnamen und den Farbcode.

colors.xml


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#008577</color>     <!--Hintergrundfarbe der Aktionsleiste-->
    <color name="colorPrimaryDark">#00574B</color> <!--Hintergrundfarbe der Statusleiste-->
    <color name="colorAccent">#D81B60</color>      <!--Grundfarbe des Steuerelements-->
</resources>

app/res/values/strings.xml

Definiert die in der App verwendete Zeichenfolge. Anfangs gibt es nur den Anzeigenamen der App.

strings.xml


<resources>
    <string name="app_name">My Application1</string> <!--App-Anzeigename-->
</resources>

app/res/values/styles.xml

Legen Sie Themen für App-Aktivitäten und -Ansichten fest. Theme.AppCompat.Light.DarkActionBar ist das übergeordnete Thema, und es scheint, dass Sie es unabhängig von hier erweitern können.

styles.xml


<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

Dateien unter Gradle

Gradle wird zum Erstellen von Apps verwendet. Diejenigen, die Entwicklungstools wie Datenbindung verwenden möchten, und diejenigen, die verschiedene Dinge anpassen möchten, scheinen hier zu bearbeiten. Im Moment glaube ich nicht, dass ich die Möglichkeit habe, es zu bearbeiten, es sei denn, es gibt etwas Besonderes, also habe ich vorerst nur die Gliederung überprüft.

Gradle Scripts/build.gradle

Eine Datei, die Erstellungsprozeduren in der Sprache Groovy definiert.

Gradle Scripts/gradle-wrapper.properties

Die Konfigurationsdatei, die zum Ausführen des Builds auf Gradle benötigt wird.

Gradle Scripts/proguard-rules.pro

Definitionsdatei, um Reverse Engineering der App zu verhindern.

Gradle Scripts/gradle.properties

Ihre eigene Eigenschaftendatei zur Verwendung mit Gradle.

Gradle Scripts/settings.gradle

Gibt an, welche Projekte beim Erstellen berücksichtigt werden sollen. Es wird nicht in einem einzelnen Projekt verwendet.

Gradle Scripts/local.properties

Es wird zum Verwalten von Textinformationen verwendet, die Sie nicht im Repository aufbewahren möchten. Es scheint, dass die Einstellungen für die Entwicklungsumgebung dem entsprechen.

Zusammenfassung

Die Dateien mit verschiedenen Rollen werden von Anfang an vorbereitet und fühlen sich völlig erschöpft an. Wenn Sie eine App nur normal erstellen möchten, können Sie die folgenden Dateien bearbeiten oder eigene hinzufügen.

app/manifests/AndroidManifest.xml app/java/com.sirius.software.myapplication1/MainActivity.java app/java/com.sirius.software.myapplication2/MainActivity.kt app/res/drawable/ic_launcher_background.xml app/res/drawable/ic_launcher_foreground.xml app/res/layout/activity_main.xml app/res/mipmap/ic_launcher/ic_launcher.png app/res/mipmap/ic_launcher_round/ic_launcher_round.png app/res/values/colors.xml app/res/values/strings.xml app/res/values/styles.xml

Recommended Posts

Ich habe die Datei untersucht, die bei der Auswahl von Leere Aktivität in Android Studio erstellt wurde
3 Möglichkeiten zum Importieren von Bibliotheken in Android Studio
Verwenden Sie das in Android Studio verwendete JDK im Terminal
Schwierigkeiten bei der Implementierung von Alarm Manager in Android Studio
Ich bin auf die Java-Version in Android Studio gestoßen, daher werde ich sie zusammenfassen
[Android Studio] Ich möchte Einschränkungen für die in EditText [Java] registrierten Werte festlegen.
Ich habe ein Symbol, das in Android Studio nicht aufgelöst werden kann
Hinweise zu Android Studio
Als ich zu IntelliJ wechselte, gab es einen großen Unterschied in der Codierung der Eigenschaftendatei.
Siehe C ++ im Android Studio-Modul (Java / Kotlin)
Ich blieb in File stecken
Ich habe versucht, eine einfache Karten-App in Android Studio zu erstellen
Das Problem, dass XML-Attribute in Android Studio willkürlich neu angeordnet werden
Über das, was ich beim Erstellen einer CLJ-Datei mit Clojure getan habe
Wenn ich die Eigenschaftendatei bearbeite, sieht es aus wie verstümmelte Zeichen
[Android] Ich möchte den Listener über die Schaltfläche in ListView abrufen