• Aucun résultat trouvé

Développement d'applications mobiles sous Android. Joseph Azar

N/A
N/A
Protected

Academic year: 2022

Partager "Développement d'applications mobiles sous Android. Joseph Azar"

Copied!
33
0
0

Texte intégral

(1)

Développement d'applications mobiles sous Android

Joseph Azar

joseph.azar@univ-fcomte.fr

(2)

1-Qu'est-ce qu'une Activité?

 Un écran qui effectue une action très particulière dans une application Android

 Les activités interagissent avec l'utilisateur, elles présentent une fenêtre et présentent une interface utilisateur interactive à l'intérieur (via la

fonction setContentView())

(3)

2- Cycle de vie de l'activité?

(4)

3-Qu'est-ce qu'un fragment?

 Ils fournissent un mécanisme modulaire pour créer une interface utilisateur qui peut être facilement réutilisée dans une application

 Plusieurs fragments peuvent être intégrés à une activité, rendant une application beaucoup plus interactive

(5)

4-Cycle de vie des fragments?

 Le cycle de vie des fragments dépend du cycle de vie de l'activité

(6)

5-Comment est la structure d'une application Android?

 Assets (Databases, text files)

 Build

 Libs (.jar)

 Src (main/java et main/res)

 Build.gradle (Informations sur la construction de l'application)

 AndroidManifest.xml (Composants d'application et autorisations)

(7)

6-Que sont les composants Android?

 Activities

 Intent et Broadcast reveivers

 Services

 Content Providers

 Widgets et Notifications

(8)

7- Quelles sont les autorisations dans une application Android?

 Ils sont spécifiés dans AndroidManifest.xml et déclarent à quelle fonctionnalité du système une application peut accéder

 Accès à la caméra

 Effectuer des connexions Internet

 Accéder au matériel de localisation

 Accéder aux capteurs

 Composer un numéro de téléphone

(9)

8- Qu'est-ce qu'un Intent? Quels sont les types d'intention?

 Un message envoyé entre les composants Android pour demander des fonctionnalités et interagir entre eux. Il peut être utilisé pour interagir avec différentes applications.

Explicit Intents : Il définit exactement quel composant nous voulons appeler dans le système Android

Implicit Intents: Une intention implicite ne spécifie pas quel

composant prendra en charge la prochaine action, mais indiquera plutôt l'action à effectuer

(10)

9- Comment puis-je conserver des

informations sur un appareil Android?

 SharedPreferences

 SQL Database

 Files (WRITE_EXTERNAL_STORAGE)

(11)

10- Qu'est-ce qu'un service dans Android et

combien de types de services connaissez-vous?

 Un service est un composant qui exécute des opérations de longue durée en arrière-plan et ne possède pas d'interface. Les services sont démarrés par un autre composant d'application et restent en arrière- plan, que l'autre composant reste actif ou non.

 Les services ont leur propre cycle de vie

 Un service peut être Bounded ou Unbounded

Bounded: Connecté à un autre composant, il vit généralement pendant que l'autre composant est encore en vie.

Unbounded: Continuer à fonctionner indéfiniment

(12)

10- Qu'est-ce qu'un service dans Android et

combien de types de services connaissez-vous?

(13)

11- Qu'est-ce qu'un Content Provider et à quoi l'utilisez-vous?

 C'est un mécanisme sous Android permettant

d'échanger du contenu et de le fournir à différentes applications

 Ils lisent des informations à partir de sources telles que des bases de données SQLite ou de gros fichiers, et elles doivent être déclarées dans le fichier

AndroidManifest.xml pour être pleinement fonctionnelles

 Chaque application peut définir son propre

ContentProvider. Android fournit également une liste

complète de ContentProviders par défaut: SMS, numéros de téléphone, etc.

(14)

12- Qu'est-ce qu'un BroadcastReceiver?

 Il s'agit d'un composant qui envoie/reçoit un message au système afin que tout autre composant puisse le capturer et interagir avec lui

 Diffusion pour indiquer un faible niveau de batterie

 Diffusion pour indiquer une déconnexion du WiFi

(15)

13-Qu'est-ce que l’ADB?

 Android Device Bridge

 Outil de ligne de commande développé pour communiquer avec les appareils Android

 Installer ou désinstaller une application du périphérique

 Envoyer ou extraire un fichier depuis un périphérique

 Accéder au logcat de l'appareil

(16)

14-Qu'est-ce que le DDMS?

 Dalvik Debug Monitor Server

 Outil de débogage:

Capturer des screenshots de l'appareil

Analyseur de threads actifs

Traiter les problèmes de mémoire

Simuler des lieux, des SMS ou des appels entrants

(17)

15- Qu'est-ce que AsyncTask?

 Android définit AsyncTask comme «une classe qui étend la classe Object pour permettre aux opérations courtes de s'exécuter de manière

asynchrone en arrière-plan». Avec «doInBackground» et

«onPostExecute», Async peut exécuter des tâches de manière asynchrone sur de nouveaux threads.

(18)

16-Quand utiliser AsyncTask et quand utiliser les services?

 Les services sont utiles lorsque vous souhaitez exécuter du code même lorsque l'activité de votre application n'est pas ouverte

 AsyncTask est une classe d'assistance utilisée pour exécuter du code dans un thread séparé et publier les résultats dans le thread principal.

 AsyncTask est généralement utilisé pour de petites opérations et les services sont utilisés pour des opérations de longue durée

(19)

17-Qu'est-ce qu'un handler et un looper?

Un Looper est une classe utilisée pour parcourir en boucle la file de messages attachée au thread.

Un Handler vous permet d’envoyer et de traiter les objets Message et Runnable associés au MessageQueue d’un thread. Chaque instance de Handler est associée à un seul thread et à la file de messages de ce thread. Lorsque vous créez un

nouveau Handler, il est lié au thread / à la file d'attente de messages du thread qui le crée.

(20)

18-Comment puis-je accéder à la position de mon appareil?

LocationManager: fournit un accès aux services de localisation à partir du système Android

LocationListener: Permet à l'application d'être avertie si un fournisseur, l'état ou l'emplacement du périphérique ont changé

(21)

19-Quelle est la différence entre ViewGroups et Views?

 Un ViewGroup s'étend de la classe View. Un ViewGroup est la classe de base utilisée pour créer des présentations (Layouts), qui sont des conteneurs pour différents ensembles de vues (ou également des ViewGroups).

(22)

20-Que sont APK et le SDK?

 Package Android (APK) est le format de fichier de package utilisé par le système d'exploitation Android pour la distribution et l'installation

d'applications mobiles et de middleware

 Le SDK est un ensemble d’outils permettant de développer des applications logicielles visant une plate-forme spécifique

(23)

21-Qu'est-ce que la fragmentation dans Android?

 La fragmentation dans Android se produit en raison du grand nombre de versions de système d'exploitation et de différents périphériques

utilisant le système d'exploitation Android

 La fragmentation menace l’aptitude à exécuter un seul APK Android créé avec le SDK Android standard dans l’ensemble de l’écosystème Android, car de nombreuses versions ne prendront pas en charge toutes les

fonctionnalités

(24)

22-Qu'est-ce que la bibliothèque de support et pourquoi a-t-elle été introduite?

 Pour gérer la fragmentation entre les différentes versions d'Android, la bibliothèque de support a été introduite pour la première fois en 2011

 Le package de bibliothèque de support contient un ensemble de bibliothèques offrant une rétrocompatibilité avec les versions précédentes d’Android

 La bibliothèque de support Android contient plusieurs packages de

bibliothèque pouvant être inclus dans votre application. Chacune de ces bibliothèques prend en charge une gamme spécifique de versions de plate-forme Android et un ensemble de fonctionnalités

(25)

23-Que contient le dossier de ressources?

Les ressources sont des contenus supplémentaires tels que des images ou des chaînes fournies avec l'application.

Animator

Color

Drawable

Layout

Raw

Values

Strings

Integers

Arrays

(26)

24- Caractéristiques des langages de programmation orientés objet?

 Encapsulation

 Polymorphism

 Inheritence

 Abstraction

(27)

25- Différence entre Overriding et Overloading ?

 Le “Overriding” d’une méthode supprime son comportement d'origine et permet à un nouveau comportement d'être réécrit

 Le “Overloading” d'une méthode survient lorsque le nom de deux méthodes différentes est identique, mais que les paramètres sont différents.

(28)

26- Différence entre classe abstraite et interface ?

 Une interface est absolument abstraite et ne peut pas être

implémentée. elle définit le comportement qu'un objet doit exécuter, sans fournir de détails à ce sujet.

 Une classe abstraite ne peut pas être instanciée, mais elle peut définir partiellement et totalement le comportement et la structure interne d'un objet.

 Les interfaces sont toujours implémentées et les objets s'étendent toujours à partir de classes abstraites.

(29)

27- Peut-on remplacer (Override) les méthodes statiques en Java?

 Non, car le remplacement est basé sur une liaison (binding) dynamique au moment de l'exécution, et les membres statiques sont liés (binded) au moment de la compilation.

(30)

28- Pourquoi est-il important d'utiliser HashCode() et Equals() en Java?

 L'utilisation de hashcode () et d'equals () est cruciale lorsque nous

commençons à utiliser HashMaps. Une carte de hachage utilise les deux fonctions pour déterminer l'index des clés et détecter les doublons

(31)

28- Pourquoi est-il important d'utiliser HashCode() et Equals() en

Java?

(32)

29- Que fait l'interface Serialazable en Java?

 La sérialisation est le processus de traduction d'un objet en informations binaires afin qu'il puisse être stocké dans une base de données ou

envoyé via une requête réseau sans perte d'informations

 Pour rendre un objet sérialisable en Java, nous devons implémenter l'interface java.io.Serializable

(33)

30- Quel est l’avantage d’utiliser Retrofit?

 Retrofit réduit le code en utilisant en interne la bibliothèque GSON qui facilite l'analyse automatique du fichier json

 Retrofit est une bibliothèque de type sécurisée. Cela signifie - il vérifie si un type de données incorrect est affecté aux variables au moment de la compilation

Références

Documents relatifs

Objectifs : Découvrir la plateforme Android et les outils de développement associés Découvrir le modèle de composants Android.. Développer des interfaces utilisateurs Gérer

7. Au prochain écran, cliquez sur l’icône de reconnexion automatique si vous désirez. Choisissez les autres options si désiré. SI vous ne voulez pas la reconnexion automatique,

➢ Expliquer le rôle et l’intérêt des éléments de l’écosystème Android utilisés dans le développement d’une application.. ➢ Suivre la chaîne de développement

Utilisateur ou lire les applications gratuitement depuis votre application gratuite pour android apk for free forever stay open sourcing the application simple que personne ne

/ Fax.: +216 73362 100 Email: contact@itgate-training.com Web: www.itgate-training.com Adresse : 12 Rue Abdelkadeur Daghrir - Hammam Sousse 4011 – Tunisie.. Formation Android

Et enfin pour interagir avec tout code Java JNI interface headers. Recourir à d’autres bibliothèques est

Florida State University College of Law Research Center.. Android Apps

• It is a open source software platform and operating system for mobile devices.. • Based on the