Android Créer un nouveau projet


Exemple

Configurer Android Studio

Commencez par configurer Android Studio , puis ouvrez-le. Maintenant, vous êtes prêt à créer votre première application Android!

Remarque: ce guide est basé sur Android Studio 2.2, mais le processus sur les autres versions est essentiellement le même.

Configurez votre projet

Configuration de base

Vous pouvez démarrer un nouveau projet de deux manières:

  • Cliquez sur Start a New Android Studio Project partir de l'écran d'accueil.
  • Accédez à FileNew Project si un projet est déjà ouvert.

Ensuite, vous devez décrire votre application en remplissant certains champs:

  1. Nom de l'application - Ce nom sera affiché à l'utilisateur.

    Exemple: Hello World . Vous pouvez toujours le modifier ultérieurement dans le fichier AndroidManifest.xml .

  2. Domaine de la société - Il s'agit du qualificatif correspondant au nom du package de votre projet.

    Exemple: stackoverflow.com .

  3. Nom du package (aka applicationId ) - Ceci est le nom du package de projet complet.

    Il doit suivre la notation inversée des noms de domaine ( DNS inversé ): domaine de premier niveau . Compagnie Domaine. [ Segment de la société . ] Nom de l'application .

    Exemple: com.stackoverflow.android.helloworld ou com.stackoverflow.helloworld . Vous pouvez toujours modifier votre application en la remplaçant dans votre fichier de graduation .

N'utilisez pas le préfixe par défaut "com.example" sauf si vous n'avez pas l'intention de soumettre votre application au Google Play Store. Le nom du package sera votre application unique dans Google Play.

  1. Emplacement du projet - C'est le répertoire dans lequel votre projet sera stocké.

Dialogue Nouveau projet

Sélectionnez les facteurs de forme et le niveau d'API

La fenêtre suivante vous permet de sélectionner les facteurs de forme pris en charge par votre application, tels que le téléphone, la tablette, la télévision, Wear et Google Glass. Les facteurs de forme sélectionnés deviennent les modules d’application du projet. Pour chaque facteur de forme, vous pouvez également sélectionner le niveau API pour cette application. Pour plus d'informations, cliquez sur Aidez-moi à choisir

entrer la description de l'image ici Graphique des distributions de versions Android actuelles, affichées lorsque vous cliquez sur Aidez-moi à choisir.

La fenêtre Distribution de plate-forme Android affiche la distribution des appareils mobiles exécutant chaque version d'Android, comme illustré à la Figure 2. Cliquez sur un niveau d'API pour afficher la liste des fonctionnalités introduites dans la version correspondante d'Android. Cela vous aide à choisir le niveau minimum d'API doté de toutes les fonctionnalités dont vos applications ont besoin pour pouvoir accéder à autant de périphériques que possible. Puis cliquez sur OK .

Maintenant, choisissez les plates-formes et la version du SDK Android que l'application prendra en charge.

Boîte de dialogue Version SDK

Pour l'instant, sélectionnez uniquement Téléphone et tablette .

Le minimum SDK est la limite inférieure de votre application. C'est l'un des signaux utilisés par Google Play Store pour déterminer les périphériques sur lesquels une application peut être installée. Par exemple, l'application Stack Exchange prend en charge Android 4.1+.

L'application Stack Exchange
Android Studio vous indiquera (approximativement) quel pourcentage d'appareils sera pris en charge, compte tenu du SDK minimum spécifié.

Les niveaux inférieurs de l'API ciblent davantage de périphériques mais disposent de moins de fonctionnalités.

Lorsque vous décidez du kit SDK minimum , vous devez tenir compte des statistiques de Dashboards , qui vous donneront des informations sur la version des appareils ayant visité le Google Play Store au cours de la dernière semaine.

Capture d'écran de la distribution Android actuelle

De: Dashboards sur le site Web des développeurs Android.

Ajouter une activité

Nous allons maintenant sélectionner une activité par défaut pour notre application. Dans Android, une Activity est un écran unique qui sera présenté à l'utilisateur. Une application peut héberger plusieurs activités et naviguer entre elles. Pour cet exemple, choisissez Empty Activity et cliquez sur Suivant.

Ici, si vous le souhaitez, vous pouvez changer le nom de l'activité et de la mise en page. Une bonne pratique consiste à conserver l' Activity comme suffixe pour le nom de l'activité et activity_ comme préfixe pour le nom de la mise en page. Si nous les laissons par défaut, Android Studio générera pour nous une activité appelée MainActivity et un fichier de mise en page appelé activity_main . Maintenant, cliquez sur Finish .

Android Studio créera et configurera notre projet, ce qui peut prendre un certain temps en fonction du système.

Inspection du projet

Pour comprendre comment fonctionne Android, jetons un coup d’œil à certains fichiers créés pour nous.

Sur le volet gauche d'Android Studio, nous pouvons voir la structure de notre application Android .

Structure d'application de base

Tout d'abord, ouvrons AndroidManifest.xml en double-cliquant dessus. Le fichier manifeste Android décrit certaines des informations de base sur une application Android. Il contient la déclaration de nos activités, ainsi que des composants plus avancés.

Si une application a besoin d'accéder à une fonctionnalité protégée par une autorisation, elle doit déclarer qu'elle requiert cette autorisation avec un élément <uses-permission> dans le manifeste. Ensuite, lorsque l'application est installée sur le périphérique, le programme d'installation détermine s'il convient ou non d'accorder l'autorisation demandée en vérifiant les autorités ayant signé les certificats de l'application et, dans certains cas, en demandant à l'utilisateur. Une application peut également protéger ses propres composants (activités, services, récepteurs de diffusion et fournisseurs de contenu) avec des autorisations. Il peut utiliser l'une des autorisations définies par Android (répertoriées dans android.Manifest.permission) ou déclarées par d'autres applications. Ou il peut définir les siens.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.stackoverflow.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Ensuite, ouvrons activity_main.xml qui se trouve dans app/src/main/res/layout/ . Ce fichier contient des déclarations pour les composants visuels de notre MainActivity. Vous verrez le concepteur visuel. Cela vous permet de faire glisser et de déposer des éléments sur la mise en page sélectionnée.

Vous pouvez également basculer vers le concepteur de mise en page XML en cliquant sur "Texte" en bas de Android Studio, comme illustré ici:

Mise en page / Onglets de texte

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.stackexchange.docs.helloworld.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
</RelativeLayout>

Vous verrez un widget appelé TextView dans cette présentation, avec la propriété android:text définie sur "Hello World!". Ceci est un bloc de texte qui sera affiché à l'utilisateur lors de l'exécution de l'application.

Vous pouvez en savoir plus sur les mises en page et les attributs .

Ensuite, regardons MainActivity . C'est le code Java qui a été généré pour MainActivity .

public class MainActivity extends AppCompatActivity {

    // The onCreate method is called when an Activity starts
    // This is where we will set up our layout
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // setContentView sets the Activity's layout to a specified XML layout
        // In our case we are using the activity_main layout
        setContentView(R.layout.activity_main);
    }
}

Comme défini dans notre manifeste Android, MainActivity sera lancé par défaut lorsqu'un utilisateur lance l'application HelloWorld .

Enfin, ouvrez le fichier nommé build.gradle situé dans app/ .
Android Studio utilise le système de génération Gradle pour compiler et créer des applications et des bibliothèques Android.

apply plugin: 'com.android.application'

android {
signingConfigs {
         applicationName {
             keyAlias 'applicationName'
             keyPassword 'password'
             storeFile file('../key/applicationName.jks')
             storePassword 'anotherPassword'
         }
     }
    compileSdkVersion 26
    buildToolsVersion "26.0.0"

    defaultConfig {
        applicationId "com.stackexchange.docs.helloworld"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        signingConfig signingConfigs.applicationName
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:26.0.0'
}

Ce fichier contient des informations sur la version et la version de votre application. Vous pouvez également l'utiliser pour ajouter des dépendances à des bibliothèques externes. Pour l'instant, n'apportons aucune modification.

Il est conseillé de toujours sélectionner la dernière version disponible pour les dépendances:

compileSdkVersion

compileSdkVersion est votre façon de dire à Gradle quelle version du SDK Android compiler votre application. L'utilisation du nouveau SDK Android est une exigence pour utiliser l'une des nouvelles API ajoutées à ce niveau.

Il convient de souligner que la modification de votre compileSdkVersion ne modifie pas le comportement à l'exécution. Bien que de nouveaux avertissements / erreurs du compilateur puissent être présents lors du changement de votre compileSdkVersion , votre compileSdkVersion n'est pas inclus dans votre APK: il est purement utilisé au moment de la compilation.

Par conséquent, il est fortement recommandé de toujours compiler avec le dernier SDK. Vous obtiendrez tous les avantages des nouvelles vérifications de compilation sur le code existant, éviterez les API récemment obsolètes et serez prêt à utiliser de nouvelles API.

minSdkVersion

Si compileSdkVersion définit les dernières API disponibles, minSdkVersion est la limite inférieure de votre application. minSdkVersion est l'un des signaux utilisés par Google Play Store pour déterminer sur quel périphérique d'un utilisateur une application peut être installée.

Il joue également un rôle important pendant le développement: par défaut, les linteaux contre votre projet vous avertissent lorsque vous utilisez des API au-dessus de votre minSdkVersion , vous aidant ainsi à éviter le problème d'exécution d'une API inexistante. La vérification de la version du système à l'exécution est une technique courante lors de l'utilisation des API uniquement sur les versions de plate-forme plus récentes.

targetSdkVersion

targetSdkVersion est la méthode principale targetSdkVersion Android pour targetSdkVersion la targetSdkVersion la targetSdkVersion n'appliquant pas les changements de comportement à moins que targetSdkVersion soit mis à jour. Cela vous permet d'utiliser de nouvelles API avant de modifier les comportements. La mise à jour pour cibler le dernier SDK devrait être une priorité élevée pour chaque application. Cela ne signifie pas que vous devez utiliser chaque nouvelle fonctionnalité introduite, ni mettre à jour aveuglément votre targetSdkVersion sans le tester.

targetSDKVersion est la version d'Android qui constitue la limite supérieure des outils disponibles. Si targetSDKVersion est inférieur à 23, l'application n'a pas besoin de demander des autorisations à l'exécution pour une instance, même si l'application est exécutée sur API 23+. TargetSDKVersion n'empêche pas les versions Android au-dessus de la version Android sélectionnée d'exécuter l'application.

Vous pouvez trouver plus d'informations sur le plugin Gradle:

Exécution de l'application

Maintenant, exécutons notre application HelloWorld. Vous pouvez soit exécuter un appareil virtuel Android (que vous pouvez configurer en utilisant le Gestionnaire AVD dans Android Studio, comme décrit dans l'exemple ci-dessous) ou connecter votre propre appareil Android via un câble USB.

Configurer un appareil Android

Pour exécuter une application à partir d'Android Studio sur votre appareil Android, vous devez activer le USB Debugging dans les Developer Options du Developer Options dans les paramètres de votre appareil.

Settings > Developer options > USB debugging

Si les Developer Options ne sont pas visibles dans les paramètres, accédez à About Phone et appuyez sur le Build Number sept fois. Cela permettra aux Developer Options de s'afficher dans vos paramètres.

Settings > About phone > Build number

Vous devrez peut-être également modifier la configuration de build.gradle pour build.gradle une version de votre périphérique.

Exécution depuis Android Studio

Cliquez sur le bouton vert Run dans la barre d'outils située en haut de Android Studio. Dans la fenêtre qui apparaît, sélectionnez le périphérique sur lequel vous souhaitez exécuter l'application (démarrez un périphérique virtuel Android si nécessaire ou reportez-vous à la section Configuration d'un périphérique virtuel Android si vous devez en configurer un), puis cliquez sur OK .

Bouton Exécuter

Sur les appareils fonctionnant sous Android 4.4 (KitKat) et éventuellement plus haut, une fenêtre contextuelle apparaîtra pour autoriser le débogage USB. Cliquez sur OK pour accepter.

L'application va maintenant installer et exécuter sur votre appareil Android ou émulateur.

Emplacement du fichier APK

Lorsque vous préparez votre application pour la publication, vous configurez, créez et testez une version finale de votre application. Les tâches de configuration sont simples et impliquent des tâches de base de nettoyage du code et de modification du code qui permettent d'optimiser votre application. Le processus de génération est similaire au processus de génération de débogage et peut être effectué à l'aide des outils JDK et Android SDK. Les tâches de test servent de vérification finale, garantissant que votre application fonctionne comme prévu dans des conditions réelles. Lorsque vous avez terminé de préparer votre demande de publication, vous disposez d'un fichier APK signé, que vous pouvez distribuer directement aux utilisateurs ou distribuer via un marché d'applications tel que Google Play.

Studio Android

Puisque dans les exemples ci-dessus, Gradle est utilisé, l'emplacement du fichier APK généré est: <Your Project Location>/app/build/outputs/apk/app-debug.apk

IntelliJ

Si vous utilisez IntelliJ avant de passer à Studio et importez directement votre projet IntelliJ, rien n'a changé. L'emplacement de la sortie sera le même sous:

out/production/...

Note: ceci deviendra parfois obsolète autour de 1.0

Éclipse

Si vous importez directement le projet Android Eclipse, ne le faites pas! Dès que vous avez des dépendances dans votre projet (jars ou projets de bibliothèque), cela ne fonctionnera pas et votre projet ne sera pas correctement configuré. Si vous n'avez pas de dépendances, l'apk se trouverait au même endroit que vous le trouveriez dans Eclipse:

bin/...