Android Studio

Android Studio est basé sur IntelliJ de Jetbrain. IntelliJ est un IDE Java commercial qui possède également une version communautaire (non payée).

Préparer l'application pour la sortie

Cette section décrit et discute des points importants à prendre en compte avant de publier une application pour la distribution. La liste suivante nous donne une idée des éléments à prendre en compte. 

1.  Préparer le matériel et les actifs en vue de leur publication

2.  Configurez l'application pour la libération

3. Construire une application prête pour la publication 

Préparer le matériel et les biens pour la libération

Une application est plus que le code du programme. Vous devez commencer à penser aux icônes d'applications et à d'autres éléments graphiques pour votre application si vous souhaitez lui donner un aspect professionnel. Une icône d’application aide les utilisateurs à identifier votre application telle qu’elle se trouve sur l’écran d’accueil de l’appareil. Cette icône apparaît également dans quelques autres domaines, tels que la fenêtre du lanceur et la section des téléchargements; plus important encore, si vous publiez votre application sur la place de marché Google, cette icône y sera également affichée. L’icône de l’application peut jouer un rôle majeur dans la création des premières impressions pour vos utilisateurs potentiels. C’est donc une bonne idée de travailler ici et de lire les consignes de Google relatives aux icônes d’application.

Si vous souhaitez publier l'application sur le marché Google, vous devez également prendre en compte les éléments graphiques tels que les captures d'écran et le texte de la copie promotionnelle. Assurez-vous de lire les consignes de Google relatives aux éléments graphiques.

Configurer l'application pour la version

Une fois que vous êtes prêt avec les actifs de l’application, vous pouvez maintenant modifier la configuration de l’application afin de l’organiser pour une version appropriée. Les informations mentionnées dans cette section ne sont en aucun cas obligatoires, mais c’est une bonne idée de les parcourir avant de créer une version.Vérifiez le nom du paquet. Dans les chapitres précédents, vous n'avez peut-être pas prêté attention au nom du paquet, car nous concevions des applications qui n'étaient jamais destinées à être publiées: ces applications étaient notre terrain de jeu. Cela doit changer lorsque vous avez l'intention de lancer l'application sur un marché. Le nom du package rend l'application unique sur le marché. Une fois que vous avez choisi un nom de package, vous ne pourrez plus le modifier. Réfléchissez-y un instant.Supprimer les informations de journalisation et de débogage. Les informations de débogage et de journalisation sont très utiles, indispensables même pendant le développement, mais lorsque vous êtes sur le point de publier l'application, vous devez la supprimer de toutes les informations de débogage et de journalisation. Les informations de débogage sont assez faciles à gérer; vous devez simplement supprimer l'attribut android: debuggabledans la balise <application> du fichier Manifest. On ne peut malheureusement pas en dire autant des informations de journalisation. Il existe différentes approches au problème de journal: les solutions peuvent être aussi simples (mais fastidieuses) que de supprimer manuellement toutes les instructions de journal ou aussi sophistiquées que d’écrire des programmes sed ou awk pour supprimer automatiquement les appels de journal. Certaines personnes gèrent les problèmes de journalisation en configurant ProGuard (ce qui n’est pas couvert par ce manuel), tandis que d’autres iraient jusqu’à utiliser une bibliothèque tierce telle que Timber (projet GitHub) pour remplacer la classe Log d’Android. Quelle que soit l'approche choisie, n'oubliez pas que vous devez supprimer les instructions du journal avant de créer pour la publication.Vérifiez les autorisations de l'application. À un moment donné au cours du développement, vous avez peut-être expérimenté certaines fonctionnalités de l'application et défini des autorisations sur le manifeste, telles que l'autorisation d'utiliser le réseau, l'écriture sur un stockage externe, etc. Consultez la balise <uses-permission> sur le manifeste et assurez-vous de ne pas accorder les autorisations dont l’application n’a pas besoin.Serveurs distants et URL. Si votre application repose sur des API Web ou des services cloud, assurez-vous que la version publiée de l'application utilise des URL de production et non des chemins de test. Vous avez peut-être reçu des sandbox et des URL de test lors du développement; vous devez les basculer vers la version de production. 

Construire une application prête à l'emploi

Jusqu'à présent, la manière dont nous déployions les applications sur un périphérique mobile ou un émulateur était très simple: nous écrivions les codes, cliquions sur «Exécuter», puis voyions l'application s'exécuter sur le périphérique cible. Tous les fichiers sont regroupés dans un fichier APK et déployés sans grande intervention du programmeur. Ce que vous ignorez peut-être, c’est que AS3 effectue la tâche importante qui consiste à signer le fichier APK avec un certificat avant de le livrer au périphérique cible. Toutefois, ce certificat est un certificat de débogage et s’il est bon à des fins de test, il n’est pas adapté à une utilisation en production et la plupart des magasins d’applications, y compris Google, n’accepteront pas une application signée avec un certificat de débogage pour publication. Pour distribuer une application, celle-ci doit être signée avec un certificat numérique et nous allons utiliser AS3 pour la générer. Ce certificat n'a pas besoin d'être signé par une autorité de certification telle que Verisign ou Thawte; Android nous permet d'utiliser un certificat auto-signé. Cette section détaille les étapes à suivre pour générer un fichier APK signé et créer un certificat auto-signé.

 

From the main menu, click Build - Generate Signed APK.

Figure 11-1. Select the module Click “Next”.

 

Figure 11-2. Keystore dialog

Nous n’avons pas encore de fichier JKS (magasin de clés Java); nous allons en créer un nouveau. Cliquez sur le bouton “Create new…”. 

Note   Un JKS est un référentiel de certificats dans lequel des clés privées et des clés symétriques sont également stockées.Lors de la création, il s’agit généralement d’un fichier. 

In the next dialog window, provide all necessary information.

Figure 11-3. New KeyStore

Magasin de clés

n Chemin du magasin de clés: emplacement où vous souhaitez conserver le magasin de clés.n Mot de passe: il s'agit du mot de passe de la clé de magasin de clés.n Alias: cet alias identifie la clén Mot de passe — Mot de passe pour la clé; ce n'est pas le même mot de passe que le magasin de clés, mais vous pouvez utiliser le même mot de passe si vous le souhaitez.

 Distribution d'applications

Validité (années): la valeur par défaut est 25 ans; acceptez simplement ce défaut. Si vous souhaitez publier sur Google Play, le certificat doit être valide jusqu'à la fin du mois d'octobre 2033. La valeur par défaut de 25 ans devrait donc être correcte.Autres informations — Seuls les champs du prénom et du nom sont requis Cliquez sur “OK” pour passer à la boîte de dialogue suivante.

Figure 11-4. Fenêtre Keystore

Maintenant que le fichier JKS est créé, la fenêtre de dialogue du magasin de clés en est renseignée. Cliquez sur Suivant".

Figure 11-5. Dialogue signé APK

Rappelez-vous le dossier de destination APK; C’est là que vous trouverez plus tard le fichier APK généré et signé. Assurez-vous également que le type de construction est défini sur «release».

Figure 11-6. Emplacement de l'APK signé

À ce stade, vous disposez d'un fichier APK que les utilisateurs peuvent installer sur leurs appareils. Le fichier “app-release.apk” comme indiqué dans la figure 11-6 est le fichier que vous soumettez au marché Google. 

Libérer l'application

Avant de pouvoir soumettre votre application à Google Play, vous devez disposer d'un compte développeur. Si vous n'en avez pas encore, vous pouvez vous inscrire à l'adresse https://developer.android.com; puis dirigez-vous vers la console de jeu.

Figure 11-7. Inscrivez-vous pour un compte développeur

Connectez-vous avec un compte Google, lisez et acceptez les termes du contrat de développeur, puis procédez au paiement. 

Figure 11-8. Google Play Console sign-up

 Distribution d'applications

Une fois l'enregistrement et le paiement terminés, vous aurez désormais accès à la console Google Play.

Figure 11-9. Play Console

C'est ici que vous pouvez commencer le processus de soumission de votre application au magasin. Cliquez sur le bouton «Créer une application» pour commencer.

Construire l'écran Hello

Nous avons construit un projet avec une activité vide. Ce nouveau projet sera très similaire à celui-ci. Si vous souhaitez travailler sur cet exemple de code, vous pouvez utiliser les informations sur le projet présentées dans le tableau 4-1. De cette façon, il sera plus facile à suivre. 

 

Table 4-1. Project Information

 

Application name

Hello

Company domain

Utilisez votre site Web ou inventez quelque chose; rappelez-vous que ceci est en notation DNS inverse

Project location

Cela vaut généralement mieux laisser seul; utilisez la valeur par défaut, mais assurez-vous de noter cet emplacement au cas où vous auriez à y accéder. Ignorer le support C ++ et Kotlin

Form factor

Téléphone et tablette seulement

Minimum SDK

API 23 guimauve

Type of activity

Vide

Activity name

Si vous laissez la valeur par défaut seule, ce sera MainActivity, ce qui est bien.

Layout name

Si vous laissez la valeur par défaut seule, ce sera activity_main, ce qui est bien. 

  Une fois que l'assistant de création aura terminé, vous aurez plusieurs fichiers dans le dossier du projet, mais seulement deux d'entre eux sont importants pour nous à présent: nous sommes particulièrement intéressés par MainActivity. java et activity_main.xml (Tableau 4-2, pour plus de détails).  

Table 4-2. Important files for this project

 

File

Location

Purpose

Layout file

app/src/main/res/layout/ activity_main.xml

Ceci est le fichier de mise en page de notre application. Tous les éléments de l'interface utilisateur sont écrits ici. Chaque fois que vous faites glisser un élément de la palette, ce fichier est mis à jour pour refléter ce que vous avez modifié en mode Création.

Program file

app/src/main/java/ MainActivity.java

Ce fichier Java est le programme principal. toute la logique du programme va ici. Si vous voulez faire quelque chose en réaction à un événement généré par l'utilisateur, ce sera le lieu d'écrire ce code

 

Le fichier de mise en page

Ouvrez activity_main s'il n'est pas encore ouvert; Si ce n’est pas le cas ou si vous avez fermé l’onglet précédemment, vous pouvez le lancer à partir de la fenêtre de l’outil de projet.La fenêtre de l'outil de projet nous montre une structure arborescente de nos fichiers de projet. Lorsque vous double-cliquez sur un fichier, celui-ci est lancé et ouvert sous forme d'onglet dans l'éditeur principal.La fenêtre de l'outil de projet vous permet de modifier des perspectives ou des vues. La plupart des développeurs laissent simplement la vue sur «Android», comme illustré à la figure 4-1, mais vous pouvez passer de la vue à Project, Packages, Scratches, Project Files, etc. Essayez d'ouvrir les différentes vues en cliquant sur le bouton fléché situé juste à côté de «Android» pour pouvoir explorer chaque vue par vous-même.Lorsque le fichier de présentation est ouvert dans l'éditeur principal, vous pouvez l'afficher en mode conception (wysiwyg) ou en mode texte. En mode conception, vous pouvez voir à la fois la conception et le plan directeur du fichier de présentation. 

Figure 4-1. Project tool window

 Vous pouvez passer du mode de dessin au mode texte lors de la modification du fichier de mise en page en cliquant sur les onglets «texte» ou «dessin»; vous pouvez trouver ces onglets quelque part dans la partie inférieure gauche de l'éditeur principal. Ces onglets apparaissent uniquement lorsque vous modifiez le fichier de mise en page (c’est-à-dire qu’ils sont sensibles au contexte). La figure 4-2 illustre le fichier de mise en page en mode «conception». 

Note   The AS3 UI elements in your installation may not be consistent with what's shown in Figure 4-1. AS3 is progressing at a rapid pace, and your version of AS3 may not be the same as what's been used in this book.

Figure 4-2. Design editor

 

Table 4-3. Elements of the Design Editor

show design view

Bascule entre l'affichage et le masquage de la vue de conception (voir la figure 4-2)

show blueprint view

Bascule entre afficher et masquer la vue Blueprint

change orientation

Modifie l'orientation de la mise en page. Cela sera utile si vous essayez de simuler l'apparence de la mise en page si l'utilisateur bascule entre l'orientation portrait et l'orientation paysage.

device type and size

Sélectionne le type d'appareil, qu'il s'agisse d'un téléphone, d'une tablette, d'une télévision ou d'Android. Vous pouvez également changer la configuration de l'écran (taille et densité)

api version

Sélectionne la version d'Android pour laquelle vous souhaitez avoir un aperçu de l'application.

design view

Affiche un aperçu couleur de la mise en page

blueprint view

Affiche un aperçu de la mise en page

increase zoom

Augmente le grossissement de la mise en page dans l'éditeur de conception

decrease zoom

Diminue le grossissement de la mise en page dans l'éditeur de conception

 Il peut y avoir deux fenêtres représentées dans l'éditeur de conception: comme vous pouvez le voir à la figure 4-2, ces deux fenêtres sont en fait des représentations du même fichier de présentation (notre activité principale). La vue de conception montre un aperçu couleur du fichier de mise en page, tandis que la vue de plan ne montre que le contour. Vous pouvez choisir de désactiver l'une ou l'autre de ces vues ou les deux.Le Listing 4-1 montre le fichier de mise en page en «mode texte». Dans ce mode, vous pouvez voir le code XML généré par AS3 lorsque vous apportez des modifications à la présentation en mode Création. Ce processus de génération de code entre wysiwyg et le code est bidirectionnel: si vous modifiez le code XML directement, les modifications seront reflétées presque instantanément dans la vue Conception, bien que je n’imagine pas que vous souhaitiez créer l’UI en modifiant directement le code XML. 

Listing 4-1. app/src/main/res/layout/activity_main.xml

 

  1. <?xml version="1.0" encoding="utf-8"?>
  2.  
  3. <android.support.constraint.ConstraintLayout
  4. 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"
  5.  
  6. android:layout_width="match_parent"
  7. android:layout_height="match_parent" tools:context="com.example.ted.hello.MainActivity">
  8.  
  9. <TextView android:layout_width="wrap_content"
  10. android:layout_height="wrap_content"
  11. android:text="Hello World!"
  12. app:layout_constraintBottom_toBottomOf="parent"
  13. app:layout_constraintLeft_toLeftOf="parent"
  14. app:layout_constraintRight_toRightOf="parent"
  15. app:layout_constraintTop_toTopOf="parent"/> </android.support.constraint.ConstraintLayout>

 

Le nœud racine du fichier XML, cette ligne définit la présentation de cette activité en tant que ConstraintLayout.Définit le widget TextView en tant que premier enfant du nœud racine. Un TextView est un widget texte non éditable, couramment utilisé comme étiquette.Dans la plupart des situations, vous n’avez pas besoin de manipuler le code XML du fichier de présentation, car l’éditeur de conception suffit à concevoir et à construire l’interface utilisateur. 

Programme principal Java

L’autre fichier d’intérêt est le programme principal. S'il n'est pas encore ouvert dans l'éditeur principal, lancez MainActivity.java à partir de la fenêtre de l'outil de projet.La figure 4-3 montre le programme principal dans la fenêtre de l'éditeur. Vous verrez une foule de guides visuels ici, y compris le contour de pliage du code, les numéros de ligne dans la gouttière et les icônes des fichiers associés (le cas échéant).  

Figure 4-3. app/src/main/java/MainActivity.java

 Le contour de pliage de code est utile lorsque vous modifiez des fichiers source volumineux. le pliage de certains blocs de code peut aider à mieux montrer la structure du programme (et parfois, il peut également vous aider à traquer les accolades manquantes). Le pliage de code peut être activé ou désactivé dans la fenêtre «Paramètres» (Windows et Linux) ou «Préférences» (macOS). Pour aller à la fenêtre «Paramètres», appuyez sur Ctrl + Alt + S. Pour aller à la fenêtre «Préférences», appuyez sur Commande +, (virgule) 

Table 4-4. Keyboard Shortcuts for Code Folding

 

Task

Windows or Linux

macOS

Open Settings or Preferences dialog

Ctrl + Alt + S

⌘ + ',' (comma)

Expand code block

Ctrl + Shift + '+' (plus)

⌘ + '+' (plus)

Collapse code block

Ctrl + Shift + '-' (minus)

⌘ + '-' (minus)

AS3 vous permet de visualiser le fichier source du programme dans différents modes: mode normal, affichage de la présentation, mode sans distraction et mode plein écran. Il y a des chevauchements entre certains modes, il est donc préférable d'essayer tous les modes et de voir lequel vous préférez (voir le tableau 4-5).  

Table 4-5. View Modes

Normal mode

C'est le mode par défaut à l'ouverture de AS3. Toutes les barres d'outils sont visibles, les polices de l'éditeur sont de taille normale et AS3 n'occupe pas tout le contenu de l'écran.

Presentation view

Ceci est conçu pour réaliser des présentations: la barre d'outils disparaît et la taille de la police est plus grande que d'habitude

Fullscreen mode

AS3 s'étendra sur la totalité de l’écran. Sous macOS, l’écran de l’application sera transféré sur un autre bureau. La fenêtre de l'éditeur reste pratiquement inchangée, les tailles de police sont de taille normale et les barres d'outils sont visibles.

Distraction free mode

Il cache toutes les barres d'outils et il ne reste que l'éditeur. Cela ne passera pas en mode plein écran (bien que vous puissiez le faire si vous le souhaitez; activez simplement les options sans distraction et plein écran. Elles ne s'excluent pas mutuellement)

 Le Listing 4-2 montre le code complet de MainActivity.java et en souligne certaines parties. 

Listing 4-2. app/src/main/java/MainActivity.java

 

  1. package com.example.ted.hello;
  2.  
  3. import android.support.v7.app.AppCompatActivity;
  4. import android.os.Bundle;
  5. public class MainActivity extends AppCompatActivity {
  6.  
  7. @Override
  8.  
  9. protected void onCreate(Bundle savedInstanceState) {
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.activity_main);
  12.  
  13. }
  14.  
  15. }

 Cette instruction de package a été extraite de l'écran de saisie de l'assistant lors de la création du projet (champ Domaine de la société). il s’agit généralement de votre société ou de votre site Web personnel écrit en DNS inversénotation Nous importons AppCompatActivity dans ce fichier source (MainActivity.java) car nous allons l’utiliser plus tard. Même chose que le numéro 2; nous importons l'objet Bundle car nous le référencerons plus tard dans ce fichier sourcePour construire un composant d'activité, nous devons hériter d'android.app.Activity ou de l'une de ses classes enfants. AppCompatActivity est une classe enfant de FragmentActivity qui, à son tour, est une classe enfant Activity. AppCompatActivity nous permet d’ajouter un ActionBar à notre activité@ @Override est une annotation qui aide simplement à clarifier notre intention de réellement remplacer la méthode onCreate () dans AppCompatActivity. C’est l’une des garanties du compilateur Java. onCreate () est une méthode de cycle de vie de la classe Activity. Cette méthode est appelée par le moteur d'exécution Android chaque fois qu'une application a été démarrée pour la première fois. La méthode prend en argument un objet Bundle setContentView (R.layout.activity_main) est l'appel de méthode qui associe notre programme Java principal au fichier de présentation (activity_main). Ce que cette méthode fait est de gonfler le XML, ce qui ajoutera tous les objets de vue (boutons, TextView, etc.) à l'activité. Le moteur d’analyse analyse le fichier XML, crée tous les objets view et viewgroup définis dans le fichier XML et les ajoute par programme à la classe d’activité.  

Vues et mise en page

Maintenant que nous comprenons un peu mieux la présentation et le fichier de programme principal, nous allons supprimer l'objet textView que l'assistant a généré pour nous et le remplacer par certains contrôles de notre propre conception.Sélectionnez activity_main dans l'éditeur principal (assurez-vous d'être en mode Création). Sélectionnez le texte existant “Hello World” en cliquant dessus. Un objet de vue sélectionné apparaît comme celui illustré à la figure 4-4. Supprime-le. 

Figure 4-4. Select the “Hello World” textView

 Vous pouvez également supprimer un objet de vue directement dans le fichier XML. Lorsque le fichier de mise en page est sélectionné dans l'éditeur principal, passez en mode «texte». Sélectionnez l’entrée entière du noeud de TextView en cliquant sur l’éditeur et en le faisant glisser, comme illustré à la figure 4-5. Les entrées XML sont assez pointilleuses; Si vous omettez ou supprimez un caractère supplémentaire, comme indiqué dans la figure 4-5, le code XML sera mal formé et AS3 ne pourra pas l’analyser correctement. Donc, vous devez prendre soin de bien faire les choses. Une fois sélectionné, supprimez le texte sélectionné. 

Figure 4-5. Text mode of activity_main

 

Revenez en mode «Conception» pour pouvoir ajouter de nouveaux objets de vue. Nous aurons besoin d'un textView, editText, et un objet vue Button. 

Figure 4-6. editText (PlainText), textView, and Button view objects

 

Vous pouvez placer des objets de vue sur la présentation en cliquant dessus et en les faisant glisser individuellement à partir de la palette. La palette est catégorisée, mais vous pouvez toutes les afficher dans une seule liste si vous cliquez sur l’option «Toutes» tout en haut, comme indiqué dans la figure 4-6.Pour le moment, nous n’avons défini aucune contrainte pour les nouveaux objets de vue que nous avons ajoutés. Cela posera un problème lors de l'exécution car l'absence de toute contrainte signifie que chaque objet de la vue sera positionné à l'emplacement 0,0 ou au plus haut et au plus à gauche de l'écran. Voir la figure 4-7. 

Figure 4-7. Hello app on the AVD

 

Pour remédier à cela, nous allons imposer des contraintes à chacun des objets de vue.L’idée de base de ConstraintLayout est de ne pas définir de positions absolues pour chacun des objets de vue, mais plutôt de définir des règles ou des directives pour la présentation, puis de laisser le moteur d’exécution Android déterminer le meilleur agencement de vos widgets. Cela semble une idée terrible au début parce que vous abandonnez le contrôle créatif et le relègue au runtime, mais cela a du sens car il est très difficile de concevoir une application pouvant être visualisée sous différentes tailles d'écran, facteurs de forme et orientations. . ConstraintLayout essaie de résoudre ce problème.Dans un ConstraintLayout, chaque vue reçoit une sorte de règle, de guide ou de contrainte; Un exemple de contrainte consisterait toujours à maintenir une marge gauche de 20dp du conteneur et une marge supérieure de 40dp par rapport à ce qui se trouve en haut de cette vue. Voyons comment faire cela en AS3.Dans l'éditeur principal, cliquez sur la vue editText pour la sélectionner. Notez que lorsqu'un objet de vue est sélectionné, vous pouvez voir à la fois les poignées de dimensionnement et les poignées de contrainte (voir la figure 4-8). Vous pouvez expérimenter sur les poignées de dimensionnement, mais notre préoccupation actuelle concerne les poignées de contrainte 

Figure 4-8. Constraint handles and sizing handles

 

1.  Pour définir une contrainte de marge gauche et supérieure pour notre objet, procédez comme suit.

2. Make sure that the “Autoconnect” inspector is not turned off (Figure 4-9)

Figure 4-9. Autoconnect inspector

 

3. Cliquez sur la poignée de contrainte supérieure et faites-la glisser jusqu'en haut du conteneur. Une flèche pointant vers le haut apparaîtra à partir de la poignée de contrainte supérieure; continuez à le faire glisser jusqu'à ce qu'il adhère au sommet du conteneur, comme illustré à la Figure 4-10.                       

Figure 4-10. Edit Text with constraints

 

4. Faites la même chose pour la poignée de contrainte gauche: cliquez dessus et faites-la glisser vers le haut jusqu'à ce qu'elle adhère au côté gauche du conteneur. Ne vous inquiétez pas trop des chiffres grisés sur la marge; vous pouvez corriger cela à des valeurs précises dans l'inspecteur des propriétés2. Vous pouvez modifier les valeurs des contraintes de marge dans l'inspecteur d'attributs, comme illustré à la figure 4-11. Cliquez sur les valeurs de contrainte, qui deviendront modifiables. Vous pouvez choisir n’importe quelle valeur dans le menu déroulant ou taper simplement le montant précis de la marge (en dp), puis appuyer sur ↵ (Entrée)

Figure 4-11. Attributes inspector

 

Note dp stands for device-independent pixel. It varies based on screen density. In a 160dpi screen, 1 dp = 1 pixel. dp is a commonly used unit of measurement in AS3

Vous pouvez le faire pour les deux objets de vue restants de notre présentation. Mais comme vous le constaterez bientôt, le travail de mise en page peut prendre autant de temps, sinon plus, que d’écrire des codes. Alternativement, au lieu de définir des contraintes pour chaque composant, vous pouvez laisser AS3 faire tout le travail et définir les contraintes pour vous. Pour ce faire, suivez ces étapes.1. Supprimez toutes les contraintes en cliquant sur le bouton “Effacer les contraintes” (voir Figure 4-12).2. Déplacez les objets de vue à peu près aux positions souhaitées, les uns par rapport aux autres et par rapport au conteneur, comme si vous utilisiez un programme de dessin.3. Laissez AS3 définir les contraintes automatiquement en cliquant sur le bouton «Inférer les contraintes» (voir Figure 4-12). 

Figure 4-12. Constraint inspectors

 

Lancez un émulateur pour tester l'application. assurez-vous que l'AVD est également au niveau 23 de l'API(Marshmallow) car c’est le SDK minimal que nous avons défini pour ce projet. Exécutez l’application à partir du menu principal ou cliquez sur le bouton «Lancer l’application» de la barre d’outils. Vous devriez voir quelque chose comme la figure 4-13. 

Figure 4-13. Hello app, inferred constraints

Sous-catégories

La gestion des événements consiste essentiellement à écrire une logique de programme en réponse à une action de l'utilisateur.

Lorsque les applications créent ou capturent des données à partir d'entrées utilisateur, ces données ne seront disponibles que pendant la durée de vie de l'application. Vous n’avez accès à ces données que tant que l’application n’est pas encore détruite par le moteur d’exécution. Lorsque l'application est fermée, toutes les données créées pendant l'exécution de l'application sont perdues. Android nous offre diverses façons de conserver des données de manière à prolonger la durée de vie de l'application et à accéder aux mêmes données tout au long de leur cycle de vie.

nous discuterons de trois choses qui peuvent vous aider à démarrer et vous orienter dans la direction d’une enquête plus poussée. Ce sont les thèmes et les couleurs, la barre d’application et les fragments.