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.
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.
Das Ergebnis der Erweiterung aller von der Vorlage erstellten Elemente ist wie folgt. Die Java-Version befindet sich links und die Kotlin-Version rechts.
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.
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>
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.
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