Vous êtes sur la page 1sur 43

Initiation Android

Introduction
Né en 2004, racheté par Google en 2005, publié en
2007, en version 1.5.

Actuellement nous sommes à la version 13 (Février


2022). La version 14 est sortie en février 2023
uniquement pour les développeurs.
Introduction
• Souvent présenté comme l’alternative de Google à
l’iPhone (IOS)

• Système d’exploitation pour terminaux mobiles

• Basé sur Linux

• Open Source (licence Apache)


Fonctionnalités
• Framework applicatif avec réutilisation et remplacement
possible des composants
• DVM : Dalvik Virtual Machine (machine virtuelle optimisée
pour les périphériques mobiles)
• Navigateur intégré basé sur le moteur WebKit (OpenSource)
• Librairie 2D dédiée
• Gestion de la 3D basée sur une implémentation d’OpenGL
(avec support de l’accélération matérielle)
• Base de données SQLite
• Gestion des écrans tactiles et du Multitouch
Fonctionnalités
• Multimédia : support de la plupart des formats classiques
d’images, de vidéos et audios (MPEG4, H.264, MP3, AAC,
AMR, JPG, PNG, GIF)

• Téléphonie GSM (selon hardware) Bluetooth, EDGE, 3G, 4G, 5G et


Wifi (selon hardware)

• Caméra, GPS, compas et accéléromètre (selon hardware)


Environnement de développement riche incluant :
- Un émulateur (avec une interface de contrôle)
- Des outils de débogage
- Outils de profiling mémoire et performance
Qu’est-ce qu’Android ?
Système complet pour smartphones et tablettes
• Gestion matérielle : système d’exploitation Linux sous-jacent
• API de programmation : interfaces utilisateur, outils. . .
• Applications : navigateur, courrier. . .
Évolution et obsolescence très rapides (c’est voulu)
• Ce que vous allez apprendre sera rapidement dépassé (1 an)
– syntaxiquement (méthodes, paramètres, classes,
ressources. . . )
– mais pas les grands concepts (principes, organisation.
..)
• Vous êtes condamné(e) à une autoformation permanente.
Composants d’Android
Android est une surcouche au dessus
d’un système Linux
Composante d’une application Android
Les applications Android
sont constitués de
composants à
couplage
 Les composantes sont
liées par un Manifest qui
décrit chacun d’eux ainsi
que les interactions entre
elles
Composante d’une application Android
1. Activities : Couche de présentation de l’application;
2. Services : les composants qui tournent en arrière plan;
3. Content providers : Partage de contenus entre
applications;
4. Intents : Framework de communication interapplications.
5. Broadcast receivers : Consommateurs des messages
diffusés par les intents.
6. Widgets : Composant d’application visuels;
7. Notifications :Framework de notifications aux utilisateurs;
Type de Projet Android
Il existe trois catégories de projets sous Android:
 Application Android : Type primaire des applications

Android destiné à être exécuté directement sur un


terminal
 Test Projects : Projet de test d’une application

Android
 Library Project : Projet de types librairies, équivalents

à une API exposant certaines fonctionnalités pouvant


être réutilisé par d’autres applications
Initiation Flutter
Présentation
Flutter est le SDK d'application mobile,
framework créé par Google, pour la création
d'interfaces natives sur iOS et Android et
permet la création de web apps pour
Windows, Linux et macOS. Flutter est gratuit
et open-source.
Initiation Flutter
Présentation
Flutter, dont le nom est issu d’une société
rachetée en 2013 par Google. Au lieu d’utiliser
des technologies web, il va créer une
application dite “native” qui tire parti des SDK
officiels fournis par Apple
(iOS/iPadOS/watchOS) et Google (Android).
Les performances y sont donc bien meilleures.
Initiation Flutter
Historique
La première version de Flutter était connue
sous le nom de code "Sky" et a été dévoilée
en 2015.
A l’heure actuelle, Flutter est en version 3.13.2
et selon le recensement même de Google, 150
000 applications sur le Play Store utilisent
Flutter.
Initiation Flutter
Avantages :
 Réduction de la taille du code
 Augmenter la vitesse (meilleur intégration sur

Android)
 Facile d'utilisation (Multi support)
 Une grande communauté

Inconvénients :
 Limites des bibliothèques et des outils
 Taille de fichier massive
Initiation Flutter
Installation
Il faut télécharger le SDK et l’installer sur le PC
(De préférence dans C:\)

Il faut ensuite télécharger les extensions Flutter


et Dart dans votre IDE préféré (Android
Studio, IntelliJ ou Visual Studio Code)
Et enfin relier le SDK avec votre IDE
Initiation Flutter
L’architecture de Flutter
Initiation Flutter
Le langage Dart
• Dart est un langage orienté objet avec un
héritage simple, des classes concrètes et
abstraites, des interfaces et des mixins (sorte
d'héritage multiple limité) ;
• Dart est optionnellement typé que ce soit
dans l'assignation d'une variable ou la
définition d'une fonction ;
Initiation Flutter
Le langage Dart
• En Dart, les fonctions sont des objets, ce qui
nous permet de les passer en paramètre de
constructeurs ou de fonctions, mais aussi
d'avoir des fonctions retournées par une autre
fonction ;
Initiation Flutter
Le langage Dart
• Toute application a au moins une fonction de
haut niveau, la fonction main() ;
• Dart permet d'utiliser des Generics.
Initiation Flutter
Le langage Dart
Variables
Le typage de variable en Dart est optionnel.

On déclare on variable de la façon suivante :


var nom = 'Colin’;
var age = 40;
Initiation Flutter
Le langage Dart
Variables
Par défaut toutes les variables non initialisées
ont pour valeur null.
Initiation Flutter
Le langage Dart
Variables
Il est quand même possible de mettre un type
aux variables.

String nom = 'Colin’;


Double age = 40;
Initiation Flutter
Le langage Dart
Concaténation
Pour concaténer des chaines de caractères il n’y
a aucun caractère particulier à utiliser
String nom ='Vincent' 'Colin’;

Il est possible d’utiliser l’opérateur +


String nom ='Vincent' + 'Colin';
Initiation Flutter
Le langage Dart
Formater une chaine de caractère
String nom ='''Vincent Colin
BTS SIO''';
Affichera :
Vincent Colin
BTS SIO
Initiation Flutter
Le langage Dart
Les listes
Une liste peut être initialisée de la manière
suivante :

var liste = [1, true, 'Colin’, 42];


Ou
List liste = [1, true, 'Colin’, 42];
Initiation Flutter
Le langage Dart
Les listes
Créer un liste de taille fixe :
List listefixe = new List (5);

Créer une liste dynamique :


List listedynamique = new List();
Initiation Flutter
Le langage Dart
Les listes
Pour ajouter des valeurs à la liste fixe
listefix[0] = 1;
listefix[1] = 42;
listefix[2] = true;
Initiation Flutter
Le langage Dart
Les listes
Pour ajouter des valeurs à la liste dynamique
listedynamique.add(1);
listedynamique.add(42);
listedynamique.add(true);
On peut remplacer les valeurs dans une liste
dynamique comme cela
Listedynamique[0] = 45;
Initiation Flutter
Le langage Dart
Les Maps
var map = {0 : 42, 1 : 'Bts Sio'};

Map nouvellemap = new Map();


nouvellemap[1] = true;
nouvellemap['caramel'] = false;
Initiation Flutter
Le langage Dart
Les boucles
La boucle for
List<int> liste = [1, 2, 3, 4, 5, 6, 7, 8, 9];
int somme = 0;

for (int i = 0; i < liste.length; i++) {


somme += liste[i];
}
Initiation Flutter
Le langage Dart
Les boucles
La boucle foreach
List<int> liste = [1, 2, 3, 4, 5, 6, 7, 8, 9];

int somme = 0;
liste.forEach((int e) => somme += e);
Initiation Flutter
Le langage Dart
Les boucles
La boucle do-while
List<int> liste = [1, 2, 3, 4, 5, 6, 7, 8, 9];

int somme = 0;
int i = 0;
do {
somme += liste[i];
i++;
} while (i < list.length);
Initiation Flutter
Le langage Dart
Les conditionnelles
If else
Var result;
var outil = ‘pioche';
if (outil == ‘pioche' || outil == ‘rateau')
{result = ‘C’est un outil’;
} else if (outil == ‘pelle')
{result = ‘C’est un outil’;
} else {result = ‘Ce n’est pas un outil’;
}
}
Initiation Flutter
Le langage Dart
Les conditionnelles
switch
Var result;
var nombre = 5;
switch(nombre) {
case 1:
case 2:
result = ‘Egal à 2’;
break;
case 4:
case 5:
result = ‘Egal à 5’;
break;
default:
result = ‘Supérieur à 5’;
break;
}
Initiation Flutter
Le langage Dart
Les fonctions

Int calculer (int nb1, int nb2) {

return nb1 + nb2;


}
Initiation Flutter
Le langage Dart
Les fonctions
Toute fonction d'une seule ligne peut être
simplifiée en supprimant les accolades et le
mot-clé return.

Int calculer (int nb1, int nb2) => nb1 + nb2;


Initiation Flutter
Le langage Dart
Les fonctions
Vous pouvez ajouter des paramètres optionnels
à vos fonctions
Int calculer (int nb1, int nb2, [String oper]) {
If (oper == null) {
return nb1 + nb2;
}
Initiation Flutter
Le langage Dart
Les fonctions
Else {
switch(oper) {
case '+’:
return nb1 + nb2;
break;
case '-':
return nb1 - nb2;
break;
case '*':
return nb1 * nb2;
break;
case '/’:
return nb1 / nb2;
break;
}
}
}
Initiation Flutter
Le langage Dart
Les fonctions
Il est possible de mettre une valeur par défaut
aux paramètres optionnels

Int calculer (int nb1, int nb2, [String oper = ‘+’])


Initiation Flutter
Le langage Dart
Les fonctions
Ces paramètres optionnels sont dits
positionnels car leur position compte dans
l'appel d'une fonction. Si une fonction a plus
d'un paramètre optionnel et que l'on souhaite
fournir uniquement le deuxième paramètre
optionnel lors de l'appel de la fonction il est
nécessaire de fournir le premier, et ce, même
s'il a une valeur par défaut.
Initiation Flutter
Le langage Dart
Les fonctions
Attention : Seul les bool, num, int, double
et String peuvent avoir une valeur par
défaut.
Initiation Flutter
Le langage Dart
Les fonctions
Pour éviter d'avoir à fournir des paramètres null
lors de l'appel d'une fonction, Dart permet
d'avoir des paramètres optionnels nommés.

Int calculer (int nb1, int nb2, {String oper: ‘+’})


Initiation Flutter
Le langage Dart
Les fonctions
Que l’on va appeler
int result = calculer(6,7, oper: ‘*’);

Il n'est pas possible d'avoir les deux types de


paramètres optionnels dans la définition d'une
seule et même fonction.

Vous aimerez peut-être aussi