SlideShare une entreprise Scribd logo
Développer sa première application
Android avec
l’atelier Android Studio
Par Karim DJAAFAR
Directeur Technique de la SSLL
JASMINE CONSEIL
Mai 2014
kdjaafar@jasmineconseil.com
Agenda
 Android une (brève) introduction
 Développer sur Android, les solutions disponibles
 Présentation de l’atelier Android Studio et Configuration de l’atelier
 Mise en œuvre de sa premier application helloWorld avec l’assistant de de
création de projet Android Studio
 Configuration de l’AVD et déploiement final
Android (une brève)
introduction
Android : les composants fondamentaux
 Conçu initialement par Android Inc , il a été racheté par Google en 2005
 Un système d’exploitation Open Source pour terminaux mobiles (smartphone,
PDA, tablette, Web TV …) basé sur un noyau libre Linux et qui utilise une machine
virtuelle appelée « Dalvik »
 Une plateforme de développement open source pour installer, lancer déployer des
applications mobiles
 L’accès au matériel est permis à toutes les applications au travers d’une série de
bibliothèques d’API, et l’interaction entre applications, bien que soigneusement
contrôlée, est entièrement supportée
Copyright Jasmine Conseil 2014
4
Android, les Caractéristiques
 Android supporte les fonctionnalités suivantes:
 Stockage: utilise la base SQLite, un SGBDR embarqué léger
 Connectivité évoluée: Support du WIFI-Direct et Android Bean, qui permet
(version Kitkat uniquement) de faire du partage instantané et la diffusion de
media grâce au protocole NFC qui permet des communications courte portée
 Messaging : Support du MMS et SMS
 Géolocalisation : Support de Google Map intégrable dans vos applications
 Services d’arrière-plan et applications : Les services d’arrière-plan permettent
de créer une application utilisant un modèle commandé par événement,
permettant de développer des applications évoluées bases sur l’écoute
d’évènements (cours de bourse, modification de la sonnerie en fonction du
correspondant…)
Android, une Architecture en 4 couches
Accueil Contacts Navigateur
Gestionnaire
d’activitésc
Gestionnaire de Vue
Gestionnaire de
téléphonie
Gestionnaire de
ressources
Gestionnaire de
localisation
Gestionnaire de
notification
Android, une Architecture en 4 couches (suite)
Fwk Media
WebKit
Navigateur
OpenGLSSL
Librairies du
noyau
VM Dalvik
Gestionnaire
d’affichage
Gestionnaire de
Camera
Gestionnaire
mémoire flash
Gestionnaire de
clavier
Gestionnaire
Wifi
Gestionnair
e Audio
Gestionnaire
d’ énergie
Comment développer pour Android ?
 Pour développer sur Android, vous pouvez utiliser un Mac, un PC ou une
machine sous Linux
 Un JDK (7 de préférence, disponible sur
www.oracle.com/technetwork/java/javase/downloads/index.html )
 Le SDK d’Android disponible sur
http://developer.android.com/sdk/index.html (version 4.4 Kitkat) et qui
contient un émulateur, des librairies un debugger, la documentation,
Développer sur Android
les solutions disponibles
Eclipse ADT
 Pré requis: Eclipse (Kepler, dernière
version en date, JDK 7)
 Le plugin pour les développements
d'applications Android s'appelle ADT
(qui signifie en français "Outils de
développement Android »)
 S’installe a travers le Gestionnaire
d’Installation d’Eclipse (https://dl-
ssl.google.com/android/eclipse/)
Eclipse ADT, Configuration
 Configurer le SDK Android a travers
l’option Préférences > Android
 Spécifier l’emplacement du SDK
Android
 Cliquez sur "Apply", puis »OK". Et
c’est parti !
Android Studio
 Disponible sur le site de l’éditeur
Jetbrains sur
http://www.jetbrains.com/idea/ et sur
le site de Google en version Early
Preview
 Concurrent de la version Eclipse et qui
devrait a terme remplacer Eclipse ADT
 Propose des assistantes de création de
projet Android et un atelier complet
pour le développement graphique
Un aperçu de l’atelier Android Studio
 L’atelier Visuel Android Studio
Créer son premier projet
avec Android Studio
Configuration d’Android Studio
 Version utilisée : IntelliJ
IDEA
Community Edition
Version 13
 Option File > Project
Structure
Configuration d’Android Studio
 Configuration du JDK
 Configuration du SDK
 Configuration de l’AVD
(Android Virtual Device)
 Configuration de l’outil de
build Gradle et de Maven
Démarrer son premier
projet Android avec
Android Studio
Création de son premier projet avec
Android Studio (1/5)
 Cliquer sur l’option File > New
Project et Android, puis l’option
Gradle: Android Module
 Cliquez sur Next
Création de son premier projet avec
Android Studio (2/5)
 Sélectionner le nom de l’application qui apparaitra dans
Google Play (market place Google)
 Nom du module: nom utilise par Android Studio
 Nom du package: nom du package qui identifie votre projet
 Minimum required SDK: Niveau du SDK minimum requis
supporté par votre application
 Target SDK: le plus haut niveau de support SDK testé sur
votre application
 Compile With: JDK utilise pour compiler votre application
 Theme: Interface utilisateur utilise par votre application
Création de son premier projet avec
Android Studio (3/5)
 Custom Launcher Icon : choix de
l’icône associée a votre application
 Il est possible de sélectionner sa
propre image via l’option Image File
ou alors un texte (option Text dans
le menu Foreground)
Création de son premier projet avec
Android Studio (4/5)
 Cette étape correspond au Choix du type
d’activité et permet la création de
l’activité principale de votre application
 Trois types d’activités disponibles:
 Blank Activity: cree une activite
blanche avec une barre d’action (inclus
un titre et une option de menu)
 Fullscreen Activity : ce template cache
l’interface système (barre de
notification en particulier)
 Master/Detail Flow: Ce template
divise l’écran en deux sections: un
menu a gauche de l’écran et son détail
dans la vue droite de l’écran
Création de son premier projet avec
Android Studio (5/5)
 Les deux écrans spécifient le nom de
l’activité associée a votre application
et le layout associé
 Cliquez sur Next puis Finish en
laissant les valeurs proposées par
défaut (Project name et Project
location)
Création de la structure projet
 Le projet au bout de quelques secondes est crée sur votre
espace de travail et vous pouvez ensuite analyser la
structure du projet produit (voir la vue Project)
 libs/: contient les librairies référencées par votre code
 src/main/: répertoire contenant les sources java de votre
application
 src/main/res: contient les ressources XML de votre
application (layout et menu)
 src/main/res/values: contient les fichiers de ressources
sous forme clé/valeur
 AndroidManifest.xml : fichier de configuration principal
du projet Android généré automatiquement
 build.gradle: ce fichier est le script utilise par l’outil de
build gradle pour construire l’application
Configuration de l’émulateur AVD
 Sélectionner l’option Run> Edit
Configuration puis Android Application
 Sélectionner le module associé
MaPremiereApplicationDemo
 Sélectionner votre AVD favoris (option
Emulator / Prefer Android Virtual
Device) que vous aurez préalablement
créé via l’AVD Manager (dans mon
exemple AVD configure pour le device
Nexus 5)
 Cliquez sur Apply puis OK
Lancement de l’emulateur
 Lancez ensuite votre émulateur via
l’option Tools > Android > AVD
Manager
 Sélectionnez dans la liste votre
device ici AVD
 Sélectionnez Start puis Launch
 Patientez un peu avant l’affichage
de votre emulateur …
Lancement de l’emulateur
 Affichage de l’emulateur via le
gestionnaire AVD
Lancement de l’application sur l’AVD
 Lancez votre application via l’option
Run puis Run du menu général en
sélectionnant le nom de votre
module (ici « MaDemo »)
 Sélectionnez le Device Android en
cours d’exécution (option choose a
running device)
 Cliquez sur OK puis répondez No
pour l’activation du debug
Affichage de l’application finale

Contenu connexe

Tendances

Initiation Android Niveau Débutant
Initiation Android Niveau DébutantInitiation Android Niveau Débutant
Initiation Android Niveau Débutant
Nadim GOUIA
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)
TECOS
 
5 android web_service
5 android web_service5 android web_service
5 android web_service
Saber LAJILI
 
Cours android user_interface_2016
Cours android user_interface_2016Cours android user_interface_2016
Cours android user_interface_2016
Sabeur LAJILI
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
Franck SIMON
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous Android
Abdelkader Rhouati
 
Présentation et Initiative pour le développement Android
Présentation et Initiative pour le développement AndroidPrésentation et Initiative pour le développement Android
Présentation et Initiative pour le développement Android
younes ben tlili
 
Android pour les debutants
Android pour les debutantsAndroid pour les debutants
Android pour les debutants
Amira Hakim
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
Olivier Le Goaër
 
Cours android
Cours androidCours android
Cours android
Ad Hafsa
 
Environnement java
Environnement javaEnvironnement java
Environnement java
Ines Ouaz
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
Jean-Baptiste Vigneron
 
Code flow - Cocoaheads paris
Code flow - Cocoaheads parisCode flow - Cocoaheads paris
Code flow - Cocoaheads paris
CocoaHeads France
 
Android NDK
Android   NDKAndroid   NDK
Android NDK
Franck SIMON
 
Ateliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open sourceAteliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open source
Korteby Farouk
 
Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)
G²FOSS ENIT
 
Devops for mobile iOS/Android
Devops for mobile iOS/AndroidDevops for mobile iOS/Android
Devops for mobile iOS/Android
Cedric Gatay
 

Tendances (20)

Initiation Android Niveau Débutant
Initiation Android Niveau DébutantInitiation Android Niveau Débutant
Initiation Android Niveau Débutant
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)
 
5 android web_service
5 android web_service5 android web_service
5 android web_service
 
Cours android user_interface_2016
Cours android user_interface_2016Cours android user_interface_2016
Cours android user_interface_2016
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous Android
 
Présentation et Initiative pour le développement Android
Présentation et Initiative pour le développement AndroidPrésentation et Initiative pour le développement Android
Présentation et Initiative pour le développement Android
 
Android pour les debutants
Android pour les debutantsAndroid pour les debutants
Android pour les debutants
 
Chap android
Chap androidChap android
Chap android
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
Cours Android
Cours AndroidCours Android
Cours Android
 
Cours android
Cours androidCours android
Cours android
 
Environnement java
Environnement javaEnvironnement java
Environnement java
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Code flow - Cocoaheads paris
Code flow - Cocoaheads parisCode flow - Cocoaheads paris
Code flow - Cocoaheads paris
 
Eclipse Impress
Eclipse ImpressEclipse Impress
Eclipse Impress
 
Android NDK
Android   NDKAndroid   NDK
Android NDK
 
Ateliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open sourceAteliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open source
 
Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)
 
Devops for mobile iOS/Android
Devops for mobile iOS/AndroidDevops for mobile iOS/Android
Devops for mobile iOS/Android
 

En vedette

How to make a quick italian spaghetti
How to make a quick italian spaghettiHow to make a quick italian spaghetti
How to make a quick italian spaghetti
Viseth Hul
 
Part6 introducing the jas forge collaborative project
Part6   introducing the jas forge collaborative projectPart6   introducing the jas forge collaborative project
Part6 introducing the jas forge collaborative project
Jasmine Conseil
 
ზეგამტარობა
ზეგამტარობაზეგამტარობა
ზეგამტარობა
elenkhachidze
 
მექანიზმები
მექანიზმებიმექანიზმები
მექანიზმები
Lamara Gorgiashvili
 
დნობა–გამყარება. დნობის კუთრი სითბო
დნობა–გამყარება. დნობის კუთრი სითბოდნობა–გამყარება. დნობის კუთრი სითბო
დნობა–გამყარება. დნობის კუთრი სითბო
inga navdarashvili
 
მექანიკური ენერგია
მექანიკური ენერგიამექანიკური ენერგია
მექანიკური ენერგია
xachapuridzeciuri
 
დენის ძალა.
დენის ძალა.დენის ძალა.
დენის ძალა.
ekashioshvili
 
ნივთიერების აგრეგატული მდფგომარეობები
ნივთიერების აგრეგატული მდფგომარეობებინივთიერების აგრეგატული მდფგომარეობები
ნივთიერების აგრეგატული მდფგომარეობები
meri.miqeladze11
 
პროექტი ფიზიკაში
პროექტი ფიზიკაშიპროექტი ფიზიკაში
პროექტი ფიზიკაში
114-e
 
სხეულთა წონასწორობა
სხეულთა წონასწორობასხეულთა წონასწორობა
სხეულთა წონასწორობა
gimate
 
პროექტი ფიზიკაში
პროექტი ფიზიკაშიპროექტი ფიზიკაში
პროექტი ფიზიკაში
Keti Papava
 
წყალი ჩვენი სიცოცხლეა2
წყალი ჩვენი სიცოცხლეა2წყალი ჩვენი სიცოცხლეა2
წყალი ჩვენი სიცოცხლეა2
mzslgdz47
 
რესურსი სლაიდშოუ ,,მუშაობა და ენერგია
რესურსი სლაიდშოუ ,,მუშაობა და ენერგიარესურსი სლაიდშოუ ,,მუშაობა და ენერგია
რესურსი სლაიდშოუ ,,მუშაობა და ენერგია
TamilaVardukadze
 
Sakonferencio tema ,,wylis anomaliebi''
Sakonferencio tema ,,wylis anomaliebi''Sakonferencio tema ,,wylis anomaliebi''
Sakonferencio tema ,,wylis anomaliebi''
irinagusha
 
მექანიკური მუშაობა
მექანიკური მუშაობამექანიკური მუშაობა
მექანიკური მუშაობა
likasoch
 
ნივთიერების აგრეგატული მდგომარეობა
ნივთიერების აგრეგატული მდგომარეობანივთიერების აგრეგატული მდგომარეობა
ნივთიერების აგრეგატული მდგომარეობა
nanulimjavanadze
 
პრეზენტაცია–მოქზაურობა ელექტრობის ისტორიაში Microsoft office power point pres...
პრეზენტაცია–მოქზაურობა ელექტრობის ისტორიაში Microsoft office power point pres...პრეზენტაცია–მოქზაურობა ელექტრობის ისტორიაში Microsoft office power point pres...
პრეზენტაცია–მოქზაურობა ელექტრობის ისტორიაში Microsoft office power point pres...
maia tateshvili
 
წყალი
წყალიწყალი
წყალი
saginadzeguguli
 
მარტივი მექანიზმები/simple machines
მარტივი მექანიზმები/simple machinesმარტივი მექანიზმები/simple machines
მარტივი მექანიზმები/simple machines
ancho-banco
 

En vedette (20)

How to make a quick italian spaghetti
How to make a quick italian spaghettiHow to make a quick italian spaghetti
How to make a quick italian spaghetti
 
Part6 introducing the jas forge collaborative project
Part6   introducing the jas forge collaborative projectPart6   introducing the jas forge collaborative project
Part6 introducing the jas forge collaborative project
 
ზეგამტარობა
ზეგამტარობაზეგამტარობა
ზეგამტარობა
 
მექანიზმები
მექანიზმებიმექანიზმები
მექანიზმები
 
დნობა–გამყარება. დნობის კუთრი სითბო
დნობა–გამყარება. დნობის კუთრი სითბოდნობა–გამყარება. დნობის კუთრი სითბო
დნობა–გამყარება. დნობის კუთრი სითბო
 
Pizika
PizikaPizika
Pizika
 
მექანიკური ენერგია
მექანიკური ენერგიამექანიკური ენერგია
მექანიკური ენერგია
 
დენის ძალა.
დენის ძალა.დენის ძალა.
დენის ძალა.
 
ნივთიერების აგრეგატული მდფგომარეობები
ნივთიერების აგრეგატული მდფგომარეობებინივთიერების აგრეგატული მდფგომარეობები
ნივთიერების აგრეგატული მდფგომარეობები
 
პროექტი ფიზიკაში
პროექტი ფიზიკაშიპროექტი ფიზიკაში
პროექტი ფიზიკაში
 
სხეულთა წონასწორობა
სხეულთა წონასწორობასხეულთა წონასწორობა
სხეულთა წონასწორობა
 
პროექტი ფიზიკაში
პროექტი ფიზიკაშიპროექტი ფიზიკაში
პროექტი ფიზიკაში
 
წყალი ჩვენი სიცოცხლეა2
წყალი ჩვენი სიცოცხლეა2წყალი ჩვენი სიცოცხლეა2
წყალი ჩვენი სიცოცხლეა2
 
რესურსი სლაიდშოუ ,,მუშაობა და ენერგია
რესურსი სლაიდშოუ ,,მუშაობა და ენერგიარესურსი სლაიდშოუ ,,მუშაობა და ენერგია
რესურსი სლაიდშოუ ,,მუშაობა და ენერგია
 
Sakonferencio tema ,,wylis anomaliebi''
Sakonferencio tema ,,wylis anomaliebi''Sakonferencio tema ,,wylis anomaliebi''
Sakonferencio tema ,,wylis anomaliebi''
 
მექანიკური მუშაობა
მექანიკური მუშაობამექანიკური მუშაობა
მექანიკური მუშაობა
 
ნივთიერების აგრეგატული მდგომარეობა
ნივთიერების აგრეგატული მდგომარეობანივთიერების აგრეგატული მდგომარეობა
ნივთიერების აგრეგატული მდგომარეობა
 
პრეზენტაცია–მოქზაურობა ელექტრობის ისტორიაში Microsoft office power point pres...
პრეზენტაცია–მოქზაურობა ელექტრობის ისტორიაში Microsoft office power point pres...პრეზენტაცია–მოქზაურობა ელექტრობის ისტორიაში Microsoft office power point pres...
პრეზენტაცია–მოქზაურობა ელექტრობის ისტორიაში Microsoft office power point pres...
 
წყალი
წყალიწყალი
წყალი
 
მარტივი მექანიზმები/simple machines
მარტივი მექანიზმები/simple machinesმარტივი მექანიზმები/simple machines
მარტივი მექანიზმები/simple machines
 

Similaire à Android Studio, premier contact

1-android.pdf
1-android.pdf1-android.pdf
1-android.pdf
FethiBenYahia1
 
Chapitre 1 android
Chapitre 1 androidChapitre 1 android
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdf
med_univ78
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptx
YaminaGh1
 
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidDébuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Bosco Basabana
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
RihabBENLAMINE
 
Composants d-une application Android.ppt
Composants d-une application Android.pptComposants d-une application Android.ppt
Composants d-une application Android.ppt
mahamaalej3
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
Saber LAJILI
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
Sabeur LAJILI
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
Sabeur LAJILI
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
med_univ78
 
Cours android 2016_partie1
Cours android 2016_partie1Cours android 2016_partie1
Cours android 2016_partie1
Sabeur LAJILI
 
Cours android 2016
Cours android 2016Cours android 2016
Cours android 2016
Saber LAJILI
 
Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119
Paris Android User Group
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobile
Haifa Chorfi
 
Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android Abidjan
Bacely YoroBi
 
Tutorial android - créer des apps
Tutorial android - créer des appsTutorial android - créer des apps
Tutorial android - créer des apps
Noé Breiss
 
Tutorial android
Tutorial androidTutorial android
Tutorial android
ERWIN AGUILAR
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016
Hadina RIMTIC
 

Similaire à Android Studio, premier contact (20)

1-android.pdf
1-android.pdf1-android.pdf
1-android.pdf
 
Chapitre 1 android
Chapitre 1 androidChapitre 1 android
Chapitre 1 android
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdf
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptx
 
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidDébuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
Chapitre 4 sem
Chapitre 4 semChapitre 4 sem
Chapitre 4 sem
 
Composants d-une application Android.ppt
Composants d-une application Android.pptComposants d-une application Android.ppt
Composants d-une application Android.ppt
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
 
Cours android 2016_partie1
Cours android 2016_partie1Cours android 2016_partie1
Cours android 2016_partie1
 
Cours android 2016
Cours android 2016Cours android 2016
Cours android 2016
 
Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobile
 
Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android Abidjan
 
Tutorial android - créer des apps
Tutorial android - créer des appsTutorial android - créer des apps
Tutorial android - créer des apps
 
Tutorial android
Tutorial androidTutorial android
Tutorial android
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016
 

Plus de Jasmine Conseil

JEE 8, A Big Overview
JEE 8, A Big OverviewJEE 8, A Big Overview
JEE 8, A Big Overview
Jasmine Conseil
 
Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017
Jasmine Conseil
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Jasmine Conseil
 
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en AfriqueL'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
Jasmine Conseil
 
Ecm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forgeEcm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forge
Jasmine Conseil
 
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures EvolutionsPart 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Jasmine Conseil
 
Part 7 - Managing and fixing bugs with jira using jasforge
Part 7  - Managing and fixing bugs with jira using jasforgePart 7  - Managing and fixing bugs with jira using jasforge
Part 7 - Managing and fixing bugs with jira using jasforge
Jasmine Conseil
 
Part5 - enforcing coding standard and best practices with jas forge v1.0
Part5 -  enforcing coding standard and best practices with jas forge v1.0Part5 -  enforcing coding standard and best practices with jas forge v1.0
Part5 - enforcing coding standard and best practices with jas forge v1.0
Jasmine Conseil
 
Part 4 - Managing your svn repository using jas forge
Part 4  - Managing your svn repository using jas forgePart 4  - Managing your svn repository using jas forge
Part 4 - Managing your svn repository using jas forge
Jasmine Conseil
 
Part 3 JasForge the collaborative and agile project v1.0
Part 3   JasForge the collaborative and agile project v1.0Part 3   JasForge the collaborative and agile project v1.0
Part 3 JasForge the collaborative and agile project v1.0
Jasmine Conseil
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
Jasmine Conseil
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
Jasmine Conseil
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
Jasmine Conseil
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
Jasmine Conseil
 
JasForge : the collaborative agile project
JasForge : the collaborative agile projectJasForge : the collaborative agile project
JasForge : the collaborative agile project
Jasmine Conseil
 
Jasforgepresentationv1 3
Jasforgepresentationv1 3Jasforgepresentationv1 3
Jasforgepresentationv1 3
Jasmine Conseil
 
JasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative PlatformJasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative Platform
Jasmine Conseil
 
Jasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile ProjectJasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile Project
Jasmine Conseil
 
Jasforge Agile Collaborative Platform
Jasforge Agile Collaborative PlatformJasforge Agile Collaborative Platform
Jasforge Agile Collaborative Platform
Jasmine Conseil
 

Plus de Jasmine Conseil (19)

JEE 8, A Big Overview
JEE 8, A Big OverviewJEE 8, A Big Overview
JEE 8, A Big Overview
 
Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en AfriqueL'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
 
Ecm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forgeEcm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forge
 
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures EvolutionsPart 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
 
Part 7 - Managing and fixing bugs with jira using jasforge
Part 7  - Managing and fixing bugs with jira using jasforgePart 7  - Managing and fixing bugs with jira using jasforge
Part 7 - Managing and fixing bugs with jira using jasforge
 
Part5 - enforcing coding standard and best practices with jas forge v1.0
Part5 -  enforcing coding standard and best practices with jas forge v1.0Part5 -  enforcing coding standard and best practices with jas forge v1.0
Part5 - enforcing coding standard and best practices with jas forge v1.0
 
Part 4 - Managing your svn repository using jas forge
Part 4  - Managing your svn repository using jas forgePart 4  - Managing your svn repository using jas forge
Part 4 - Managing your svn repository using jas forge
 
Part 3 JasForge the collaborative and agile project v1.0
Part 3   JasForge the collaborative and agile project v1.0Part 3   JasForge the collaborative and agile project v1.0
Part 3 JasForge the collaborative and agile project v1.0
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
 
JasForge : the collaborative agile project
JasForge : the collaborative agile projectJasForge : the collaborative agile project
JasForge : the collaborative agile project
 
Jasforgepresentationv1 3
Jasforgepresentationv1 3Jasforgepresentationv1 3
Jasforgepresentationv1 3
 
JasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative PlatformJasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative Platform
 
Jasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile ProjectJasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile Project
 
Jasforge Agile Collaborative Platform
Jasforge Agile Collaborative PlatformJasforge Agile Collaborative Platform
Jasforge Agile Collaborative Platform
 

Android Studio, premier contact

  • 1. Développer sa première application Android avec l’atelier Android Studio Par Karim DJAAFAR Directeur Technique de la SSLL JASMINE CONSEIL Mai 2014 kdjaafar@jasmineconseil.com
  • 2. Agenda  Android une (brève) introduction  Développer sur Android, les solutions disponibles  Présentation de l’atelier Android Studio et Configuration de l’atelier  Mise en œuvre de sa premier application helloWorld avec l’assistant de de création de projet Android Studio  Configuration de l’AVD et déploiement final
  • 4. Android : les composants fondamentaux  Conçu initialement par Android Inc , il a été racheté par Google en 2005  Un système d’exploitation Open Source pour terminaux mobiles (smartphone, PDA, tablette, Web TV …) basé sur un noyau libre Linux et qui utilise une machine virtuelle appelée « Dalvik »  Une plateforme de développement open source pour installer, lancer déployer des applications mobiles  L’accès au matériel est permis à toutes les applications au travers d’une série de bibliothèques d’API, et l’interaction entre applications, bien que soigneusement contrôlée, est entièrement supportée Copyright Jasmine Conseil 2014 4
  • 5. Android, les Caractéristiques  Android supporte les fonctionnalités suivantes:  Stockage: utilise la base SQLite, un SGBDR embarqué léger  Connectivité évoluée: Support du WIFI-Direct et Android Bean, qui permet (version Kitkat uniquement) de faire du partage instantané et la diffusion de media grâce au protocole NFC qui permet des communications courte portée  Messaging : Support du MMS et SMS  Géolocalisation : Support de Google Map intégrable dans vos applications  Services d’arrière-plan et applications : Les services d’arrière-plan permettent de créer une application utilisant un modèle commandé par événement, permettant de développer des applications évoluées bases sur l’écoute d’évènements (cours de bourse, modification de la sonnerie en fonction du correspondant…)
  • 6. Android, une Architecture en 4 couches Accueil Contacts Navigateur Gestionnaire d’activitésc Gestionnaire de Vue Gestionnaire de téléphonie Gestionnaire de ressources Gestionnaire de localisation Gestionnaire de notification
  • 7. Android, une Architecture en 4 couches (suite) Fwk Media WebKit Navigateur OpenGLSSL Librairies du noyau VM Dalvik Gestionnaire d’affichage Gestionnaire de Camera Gestionnaire mémoire flash Gestionnaire de clavier Gestionnaire Wifi Gestionnair e Audio Gestionnaire d’ énergie
  • 8. Comment développer pour Android ?  Pour développer sur Android, vous pouvez utiliser un Mac, un PC ou une machine sous Linux  Un JDK (7 de préférence, disponible sur www.oracle.com/technetwork/java/javase/downloads/index.html )  Le SDK d’Android disponible sur http://developer.android.com/sdk/index.html (version 4.4 Kitkat) et qui contient un émulateur, des librairies un debugger, la documentation,
  • 9. Développer sur Android les solutions disponibles
  • 10. Eclipse ADT  Pré requis: Eclipse (Kepler, dernière version en date, JDK 7)  Le plugin pour les développements d'applications Android s'appelle ADT (qui signifie en français "Outils de développement Android »)  S’installe a travers le Gestionnaire d’Installation d’Eclipse (https://dl- ssl.google.com/android/eclipse/)
  • 11. Eclipse ADT, Configuration  Configurer le SDK Android a travers l’option Préférences > Android  Spécifier l’emplacement du SDK Android  Cliquez sur "Apply", puis »OK". Et c’est parti !
  • 12. Android Studio  Disponible sur le site de l’éditeur Jetbrains sur http://www.jetbrains.com/idea/ et sur le site de Google en version Early Preview  Concurrent de la version Eclipse et qui devrait a terme remplacer Eclipse ADT  Propose des assistantes de création de projet Android et un atelier complet pour le développement graphique
  • 13. Un aperçu de l’atelier Android Studio  L’atelier Visuel Android Studio
  • 14. Créer son premier projet avec Android Studio
  • 15. Configuration d’Android Studio  Version utilisée : IntelliJ IDEA Community Edition Version 13  Option File > Project Structure
  • 16. Configuration d’Android Studio  Configuration du JDK  Configuration du SDK  Configuration de l’AVD (Android Virtual Device)  Configuration de l’outil de build Gradle et de Maven
  • 17. Démarrer son premier projet Android avec Android Studio
  • 18. Création de son premier projet avec Android Studio (1/5)  Cliquer sur l’option File > New Project et Android, puis l’option Gradle: Android Module  Cliquez sur Next
  • 19. Création de son premier projet avec Android Studio (2/5)  Sélectionner le nom de l’application qui apparaitra dans Google Play (market place Google)  Nom du module: nom utilise par Android Studio  Nom du package: nom du package qui identifie votre projet  Minimum required SDK: Niveau du SDK minimum requis supporté par votre application  Target SDK: le plus haut niveau de support SDK testé sur votre application  Compile With: JDK utilise pour compiler votre application  Theme: Interface utilisateur utilise par votre application
  • 20. Création de son premier projet avec Android Studio (3/5)  Custom Launcher Icon : choix de l’icône associée a votre application  Il est possible de sélectionner sa propre image via l’option Image File ou alors un texte (option Text dans le menu Foreground)
  • 21. Création de son premier projet avec Android Studio (4/5)  Cette étape correspond au Choix du type d’activité et permet la création de l’activité principale de votre application  Trois types d’activités disponibles:  Blank Activity: cree une activite blanche avec une barre d’action (inclus un titre et une option de menu)  Fullscreen Activity : ce template cache l’interface système (barre de notification en particulier)  Master/Detail Flow: Ce template divise l’écran en deux sections: un menu a gauche de l’écran et son détail dans la vue droite de l’écran
  • 22. Création de son premier projet avec Android Studio (5/5)  Les deux écrans spécifient le nom de l’activité associée a votre application et le layout associé  Cliquez sur Next puis Finish en laissant les valeurs proposées par défaut (Project name et Project location)
  • 23. Création de la structure projet  Le projet au bout de quelques secondes est crée sur votre espace de travail et vous pouvez ensuite analyser la structure du projet produit (voir la vue Project)  libs/: contient les librairies référencées par votre code  src/main/: répertoire contenant les sources java de votre application  src/main/res: contient les ressources XML de votre application (layout et menu)  src/main/res/values: contient les fichiers de ressources sous forme clé/valeur  AndroidManifest.xml : fichier de configuration principal du projet Android généré automatiquement  build.gradle: ce fichier est le script utilise par l’outil de build gradle pour construire l’application
  • 24. Configuration de l’émulateur AVD  Sélectionner l’option Run> Edit Configuration puis Android Application  Sélectionner le module associé MaPremiereApplicationDemo  Sélectionner votre AVD favoris (option Emulator / Prefer Android Virtual Device) que vous aurez préalablement créé via l’AVD Manager (dans mon exemple AVD configure pour le device Nexus 5)  Cliquez sur Apply puis OK
  • 25. Lancement de l’emulateur  Lancez ensuite votre émulateur via l’option Tools > Android > AVD Manager  Sélectionnez dans la liste votre device ici AVD  Sélectionnez Start puis Launch  Patientez un peu avant l’affichage de votre emulateur …
  • 26. Lancement de l’emulateur  Affichage de l’emulateur via le gestionnaire AVD
  • 27. Lancement de l’application sur l’AVD  Lancez votre application via l’option Run puis Run du menu général en sélectionnant le nom de votre module (ici « MaDemo »)  Sélectionnez le Device Android en cours d’exécution (option choose a running device)  Cliquez sur OK puis répondez No pour l’activation du debug

Notes de l'éditeur

  1. This template splits the screen into two sections: a left menu and the detail of the selected item on the right. On a smaller screen, just one section is displayed, but on a bigger screen, both sections are displayed at the same time.