[JAVA] J'ai examiné le fichier créé lors de la sélection de l'activité vide dans Android Studio

Dans Android Studio, lorsque vous créez un nouveau projet à partir de «Démarrer un nouveau projet Android Studio», la liste des modèles s'affiche. J'utilise souvent ʻEmpty Activity`, mais je suis reconnaissant que les modèles soient utiles depuis le début, mais honnêtement, Nanikore? Comme il y a de nombreux fichiers appelés, je l'ai vérifié. Bref, c'est un mémorandum.

environnement

organisation des fichiers

Une question que je me suis demandé est si Java et Kotlin sont différents du modèle. J'ai donc créé la version Java comme «myapplication1» et la version Kotlin comme «myapplication2».

Au fait, «com.sirius.software» est le nom du package que j'utilise personnellement.

configure_your_project.png

Le résultat de l'extension de tous les éléments créés par le modèle est le suivant. La version Java est à gauche et la version Kotlin est à droite.

java_kotlin.png

Il semble qu'il n'y ait pas de grande différence à première vue, Seule la version Kotlin avait un élément appelé generatedJava depuis le début. Lorsque j'ai construit la version Java, elle était affichée comme un élément, donc je suppose que la version Kotlin a été construite une fois au début.

Fichiers sous application

app/manifests/AndroidManifest.xml

Contient des informations sur les applications Android. Est-ce un aperçu de l'application vue depuis le système Android? Il est susceptible d'être édité principalement lors de l'ajout / modification / suppression d'activités.

Il n'y a aucune différence dans Java / Kotlin. J'ai écrit un commentaire sur l'étiquette et chaque élément (je l'ai personnellement recherché).

AndroidManifest.xml


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

<!--
<manifest> AndroidManifest.élément racine xml
・ Xmlns:android =Indique qu'il s'agit d'un fichier xml pour Android
· Paquet=Nom du paquet
-->

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

    <!--
    <application>Éléments de configuration à l'échelle de l'application
· Android:allowBackup =S'il faut sauvegarder les données de l'application sur GoogleDrive, etc.
· Android:icon        =Spécifiez la ressource de l'icône de l'application
· Android:label       =Spécifiez le nom d'affichage de l'application
· Android:roundIcon   = Android 7.Spécifiez la ressource de l'icône ronde correspondant à 1 ou plus
· Android:supportRtl  =Prend-il en charge les mises en page qui affichent des phrases de droite à gauche, comme en arabe?
· Android:theme       =Spécifiez le thème par défaut de l'activité
    -->

    <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>Éléments de réglage pour chaque activité
· Android:name =Nom de la ressource d'activité
        -->

        <activity android:name=".MainActivity">

            <!--
            <intent-filter>Spécifie le type d'intention implicite qui peut être traitée
Par exemple, cette application indique aux systèmes Android qu'elle peut passer des appels
Si vous souhaitez afficher Android.intent.action.Ajouter un appel
            -->

            <intent-filter>
                <!-- .Indique que MainActivity s'affiche au démarrage de l'application-->
                <action android:name="android.intent.action.MAIN" />

                <!--Indique qu'il peut être démarré à partir de l'icône d'accueil-->
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

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

Code source de l'activité principale. Sans cela, rien ne sera affiché lorsque vous lancerez l'application. La barre d'action est l'endroit semblable à l'affichage du titre qui apparaît en haut de l'activité.

La version Java nécessite un point-virgule à la fin de la ligne.

MainActivity.java


//Déclaration de colis
package com.sirius.software.myapplication1;

//Obligatoire lors de la création d'une activité avec une barre d'actions
import android.support.v7.app.AppCompatActivity;

//Nécessaire pour que le système Android gère l'état d'activité
import android.os.Bundle;

//Point d'entrée (commencez ici)
public class MainActivity extends AppCompatActivity {

    //gestionnaire d'événements onCreate
    //Appelé au démarrage de l'activité
    //L'annotation de remplacement réutilise onCreate existant
    //Pratique car vous n'avez pas à écrire la magie de base de l'activité
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        //AppelerCréer une superclasse
        //savedInstanceState stocke l'état de l'activité
        super.onCreate(savedInstanceState);

        //Lire et afficher le fichier de mise en page
        setContentView(R.layout.activity_main);
    }
}

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

C'est l'activité principale de la version Kotlin. Aucun point-virgule n'est requis.

MainActivity.kt


package com.sirius.software.myapplication2

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

//public est omis et le mot-clé extend est:Changé en
class MainActivity : AppCompatActivity() {

    //Les annotations ont été omises et onCreate était rafraîchissant
    // Bundle?Hatena indique que la valeur peut être Null (nullable)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

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

Si vous souhaitez séparer certains traitements entre la version Debug et la version Release Il semble que vous puissiez l'utiliser en ajoutant des constantes et des processus à BuildConfig. Je l'éditerai le moment venu.

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

Cela signifie-t-il que le traitement peut être divisé au moment de la construction, même dans les tests unitaires? Je ne suis pas encore sûr, alors je vais le chercher à une date ultérieure.

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

Un fichier d'exemple de test qui peut être exécuté sur la machine ou l'émulateur réel.

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

Un exemple de fichier de tests pouvant être exécutés sur Android Studio + Java Virtual Machine (JVM). Il ne semble pas y avoir de règle explicite sur la façon de gérer ces exemples de fichiers.

app/res/drawable/ic_launcher_background.xml

Définissez l'arrière-plan lorsque vous créez une icône adaptative.

app/res/drawable/ic_launcher_foreground.xml

Définissez le premier plan lorsque vous créez une icône adaptative. Les icônes adaptatives sont un mécanisme pour aligner (unifier) les formes des icônes d'application.

app/res/layout/activity_main.xml

La disposition de l'activité. Organisez les boutons et les vues affichés à l'écran.

activity_main.xml


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

<!--
<android.support.constraint.ConstraintLayout>Optimiser automatiquement la mise en page
・ Xmlns:android         =Indique qu'il s'agit d'un fichier xml pour Android
・ Xmlns:app             =Définir un espace de noms XML et rendre l'attribut d'application disponible
・ Xmlns:tools           =Définir un espace de noms XML et rendre l'attribut tools disponible
· Android:layout_width  =Réglage de la largeur (match)_parent:Affichage pour remplir la zone d'affichage)
· Android:layout_height =Réglage de la hauteur (match)_parent:Affichage pour remplir la zone d'affichage)
· Outils:context         =Pour quelle activité la mise en page sera utilisée
-->

<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>Afficher l'étiquette
· Android:layout_width  =Réglage de la largeur (wrap_content:S'il s'agit d'une chaîne de caractères, correspond à sa longueur)
· Android:layout_height =Réglage de la hauteur (wrap_content:S'il s'agit d'une chaîne de caractères, correspond à sa longueur)
· Android:text          =Chaîne de caractères à afficher
・ Application:layout_constraintBottom_toBottomOf="parent"
      app:layout_constraintLeft_toLeftOf="parent"
      app:layout_constraintRight_toRightOf="parent"
      app:layout_constraintTop_toTopOf="parent"
→ Spécifier comment s'organiser par rapport aux vues adjacentes dans la mise en page automatique
    -->

    <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

Il s'agit d'un fichier de ressources (image) de l'icône de l'application. Il semble que les tailles suivantes doivent être préparées pour l'image raster.

résolution Taille de l'image
hdpi 72x72
mdpi 48x48
xhdpi 96x96
xxhdpi 144x144
xxxhdpi 192x192

app/res/mipmap/ic_launcher/ic_launcher.xml

Fichier de définition d'icône adaptatif. Les fichiers suivants sont en cours de lecture. ic_launcher_background.xml ic_launcher_foreground.xml

app/res/mipmap/ic_launcher_round/ic_launcher_round.png

Il s'agit d'un fichier de ressources (image) de l'icône d'application ronde. La seule différence avec ʻic_launcher.png` est que la forme de l'icône est ronde.

app/res/mipmap/ic_launcher_round/ic_launcher_round.xml

Même contenu que ʻic_launcher.xml`. Ceci est également juste une icône ronde.

app/res/values/colors.xml

Définit le nom de la couleur et le code de couleur.

colors.xml


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#008577</color>     <!--Couleur d'arrière-plan de la barre d'action-->
    <color name="colorPrimaryDark">#00574B</color> <!--Couleur d'arrière-plan de la barre d'état-->
    <color name="colorAccent">#D81B60</color>      <!--Couleur de base du contrôle-->
</resources>

app/res/values/strings.xml

Définit la chaîne utilisée dans l'application. Au départ, il n'y a que le nom d'affichage de l'application.

strings.xml


<resources>
    <string name="app_name">My Application1</string> <!--Nom d'affichage de l'application-->
</resources>

app/res/values/styles.xml

Définissez des thèmes pour les activités et les vues de l'application. Theme.AppCompat.Light.DarkActionBar est le thème parent, et il semble que vous puissiez l'étendre indépendamment d'ici.

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>

Fichiers sous gradle

Gradle est utilisé pour créer des applications. Ceux qui souhaitent utiliser des outils de développement tels que la liaison de données et ceux qui souhaitent personnaliser diverses choses semblent modifier ici. Pour le moment, je ne pense pas avoir la possibilité de le modifier à moins qu'il n'y ait quelque chose de spécial, alors je viens de vérifier le plan pour le moment.

Gradle Scripts/build.gradle

Un fichier qui définit les procédures de construction dans le langage Groovy.

Gradle Scripts/gradle-wrapper.properties

Le fichier de configuration nécessaire pour exécuter la compilation sur Gradle.

Gradle Scripts/proguard-rules.pro

Fichier de définition pour empêcher l'ingénierie inverse de l'application.

Gradle Scripts/gradle.properties

Votre propre fichier de propriétés à utiliser avec Gradle.

Gradle Scripts/settings.gradle

Spécifie les projets à inclure lors de la construction. Il ne sera pas utilisé dans un seul projet.

Gradle Scripts/local.properties

Il est utilisé pour gérer les informations textuelles que vous ne souhaitez pas conserver dans le référentiel. Il semble que les paramètres spécifiques à l'environnement de développement correspondent à cela.

Résumé

Les fichiers avec différents rôles sont préparés dès le début et on a l'impression qu'ils sont complètement épuisés. Si vous souhaitez simplement créer une application normalement, vous pouvez modifier les fichiers suivants ou ajouter les vôtres.

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

J'ai examiné le fichier créé lors de la sélection de l'activité vide dans Android Studio
3 façons d'importer des bibliothèques dans Android Studio
Utilisez le JDK utilisé dans Android Studio dans le terminal
Difficultés lors de la mise en œuvre d'Alarm Manager dans Android Studio
Je suis tombé sur la version Java dans Android Studio, je vais donc le résumer
[Android Studio] Je souhaite définir des restrictions sur les valeurs enregistrées dans EditText [Java]
J'ai un symbole de résolution impossible dans Android Studio
Remarques sur le studio Android
Lorsque je suis passé à IntelliJ, il y avait une grande différence dans l'encodage du fichier de propriétés.
Reportez-vous à C ++ dans le module Android Studio (Java / kotlin)
Je suis resté coincé dans le fichier
J'ai essayé de créer une application cartographique simple dans Android Studio
Le problème de la réorganisation arbitraire des attributs XML dans Android Studio
À propos de ce que j'ai fait lors de la création d'un fichier .clj avec Clojure
Lorsque j'édite le fichier de propriétés, il ressemble à des caractères déformés
[Android] Je souhaite obtenir l'auditeur à partir du bouton de ListView