Hackathon Android Abidjan

Preview:

DESCRIPTION

Un hackaton est un événement où des développeurs, designers et geeks se réunissent pour faire de la programmation modulaire-collaborative, sur un ou plusieurs jours. Le terme provient de la concaténation des mots « hack » et « marathon ».

Citation preview

1

Introduction à Android

HACKATHON SESSION 1

2

Système d’exploitation mobile plus intelligent

1

INTRODUCTION

ANDROID

3

PLAN

I – L’univers ANDROID

II– Installation et configuration des outils

III –Première application

4

L’UNIVERS ANDROID

5CRÉATION D’ANDROID

(1/3)

• PME américaine créée en 2003 puis rachetée par Google en 2005

• Essayer de développer un système d'exploitation mobile plus intelligent : Permettre d'interagir avec la situation de l'utilisateur dans la nature

Android n'est pas une réponse de Google à l'iPhone d'Applepuisque l'existence de ce dernier n'a été révélée que 2 années plus tard.

6CRÉATION D’ANDROID

(2/3)

• 2007 : Système d’exploitation propre à chaque constructeur de téléphone

Inconvénient : Spécialisation des constructeurs dans un SE particulier

Janvier 2007 : Sortie de l'IPhone par Apple

Pour atteindre le niveau d'iOS (iPhone OS), il aurait fallu des années de recherche et développement à chaque constructeur

7CRÉATION D’ANDROID

(3/3)

• Création de l’Open Handset Alliance(OHA) en novembre 2007

• 35 entreprises évoluant dans l’univers mobile à sa création , dont Google

• But: développer un système open-source pour l'exploitation sur mobile et ainsi concurrencer les systèmes propriétaires

• Plus de 80 membres à l’heure actuelle dans l'OHA

• Système d'exploitation pour Smartphones et tablettes le plus utilisé.

8QUELQUES DATES

IMPORTANTES(1/2)

5 Novembe 2007 Naissance de l’Open Handset Alliance et d’Android.

12 Novembre 2007 Publication du SDK Android, le Kit de développement est mis à disposition.

17 Avril 2008 Google lance l’Android Developer Challenge

10 PHILOSOPHIE ET AVANTAGES(1/2)

Open-source : Téléchargeable et modifiable à tout moment

Gratuit (ou presque) : 25$(à vie) pour poster autant d’applications que vous souhaitez sur le Play Store

Facile à développer: Toutes les API mises à disposition facilitent et accélèrent grandement le travail

11PHILOSOPHIE ET AVANTAGES(2/2)

Facile à vendre : Le Play Store (Android Market) est une plateforme immense et très visitée.

Flexible : très portable, s’adapte à beaucoup de structures différentes (Smartphones, tablettes, micro-ondes)

Ingénieux : Architecture inspirée par les applications composites. Ces applications se trouvent essentiellement sur internet et leur principe est que vous pouvez combiner plusieurs composants totalement différents pour obtenir un résultat surpuissant.

12 TERMINAUX

Smartphone

Tablettes Internet

Net book

E Reader

Electroménager

Radio

Boîtier multimedia TV

13APPLICATIONS

14COMMUNAUTÉ OPEN SOURCE

• Google s’appuie sur la communauté open source.

• SDK disponible et accessible à tous à l'adresse : http://developer.android.com/.

15LES ENJEUX

• Mise en œuvre d’une stratégie intelligente, car ce sont les OS qui sont mises en avant plutôt que les marques de téléphone.

• Etendre aux terminaux mobiles la force de Google sur la recherche, la publicité, et les autres services proposés.

• Promouvoir les services Google déjà existants sur les autres terminaux.

16

Apple avec iOS

Research In Motion (RIM) avec BlackBerry OS

Samsung avec Bada

HP avec webOS

Nokia avec Symbian OS et MeeGo Microsoft avec Windows Phone

Sun/Oracle avec JavaFX Mobile LiMo et Openmoko

LES PRINCIPAUX CONCURRENTS

17INCONVÉNIENTS

o Open source Vulnérable au piratage

o Moins de rigueur dans la conception software et hardware Ergonomie complexe

o Les applications Android ne sont pas toujours testées sur les tous téléphones des problèmes de stabilité peuvent donc survenir.

18

INSTALLATION ET CONFIGURATION DES

OUTILS

19CONDITIONS

INITIALES

• ∀ matériel avec SE : Windows, Mac OS X ou distribution Linux.

• Windows : XP (en version 32 bits), Vista (en version 32 et 64 bits) et 7 (aussi en 32 et 64 bits).

• Mac OS 10.5.8 ou plus récent et un processeur x86.

• GNU/Linux : Distribution Ubuntu plus récente que la 8.04.

• ∀ distribution à partir du moment où votre bibliothèque GNU C (glibc) est au moins à la version 2.7

20JAVA DEVELOPMENT

KITPS : Passez à l’étape suivante si vous l’avez déjà

• JDK

• Ensemble d'outils pour compiler et déboguer votre code

• Téléchargeable partout sur Internet notamment à travers ce lien: http://www.oracle.com/technetwork/java/javase/downloads/index.html

• cliquez sur « Download » à côté de Java SE 6 Update xx dans la colonne JDK.

21 SDK ANDROID(1/3)

• Kit de développement : Ensemble d'outils mis à disposition par un éditeur afin de permettre de développer des applications pour un environnement précis

• SDK Android Développement d’applications pour Android (uniquement)

• Pour se le procurer rendez vous ici http://developer.android.com/sdk/index.html et sélectionnez la version dont vous avez besoin

22 SDK ANDROID(2/3)

• Au premier lancement du SDK, un écran de ce type s'affichera :

23 SDK ANDROID(3/3)

• Une fois votre choix effectué, un écran vous demandera de confirmer que vous souhaitez bien télécharger ces éléments là. Cliquez sur « Accept All » puis sur Install pour continuer.

24 L’IDE ECLIPSE(1/8)

• IDE: logiciel dont l'objectif est de faciliter le développement, généralement pour un ensemble restreint de langages

• Contient au moins un éditeur de texte (auto-compilation, outils de compilations , débogueur)

• Dans le cas du développement Android, un IDE est très pratique pour ceux qui souhaitent ne pas avoir à utiliser les lignes de commande.

• Eclipse : gratuit, puissant et recommandé par Google dans la documentation officielle d'Android.

25 L’IDE ECLIPSE(2/8)

• Téléchargeable via le lien suivant http://www.eclipse.org/downloads/

• Choisir « Eclipse IDE for Java Developers » qui est le meilleur compromis entre contenu suffisant et taille du fichier à télécharger

• Installer

26 L’IDE ECLIPSE(3/8)

• Une fois Eclipse installé, lancez-le et définissez le workspase(espace de travail, c'est-à-dire l'endroit où il créera les fichiers indispensables contenant les informations sur les projets)

• Pour le développement pour Android , téléchargez le plug-in (l'extension) « Android Development Tools » (ADT)

27 L’IDE ECLIPSE(4/8)

• Allez dans Help puis dans Install New Softwares... (installer de nouveaux programmes). Au premier encart intitulé « Work with: », cliquez sur le bouton « Add... » qui se situe juste à côté. On va définir où télécharger ce nouveau programme. Dans le champ « Name » écrivez par exemple ADT et dans location, copiez l'adresse ci-dessous et cliquez sur OK

https://dl-ssl.google.com/android/eclipse/

• Avec cette adresse, on indique à Eclipse qu'on désire télécharger de nouveaux logiciels qui se trouvent à cet emplacement, afin qu'Eclipse nous propose de les télécharger.

28 L’IDE ECLIPSE

29 L’IDE ECLIPSE(5/8)

• Patientez tant que sera écrit « Pending ... », puisque c'est ainsi qu'Eclipse indique qu'il cherche les fichiers disponibles à l'emplacement que vous avez précisé.

• Dès que « Developer Tools » apparaît à la place de « Pending... », développez le menu en cliquant sur le triangle à gauche du carré de sélection et analysons les éléments proposés :

30 L’IDE ECLIPSE(6/8)

• Android DDMS(Android Dalvik Debug Monitor Server): permet d’exécuter quelques fonctions pour vous aider à déboguer votre application (simuler un appel ou une position géographique par exemple) et d'avoir accès à d'autres informations utiles.

• ADT.

• Android Hierarchy Viewer : permet d'optimiser et de déboguer son interface graphique.

• Android Traceview : permet d'optimiser et de déboguer son application.

31 L’IDE ECLIPSE(7/8)

• Sélectionnez tout et cliquez sur Next, à nouveau sur Next à l'écran suivant puis finalement sur « I accept the terms of the license agreements » après avoir lu les différents contrats. Cliquez enfin sur Finish.

• Une fois l'installation et le téléchargement terminés, il vous proposera de redémarrer l'application. Faites donc en cliquant sur « Restart Now»

• Au démarrage, Eclipse vous demandera d'indiquer où se situe le SDK

32 L’IDE ECLIPSE(8/8)

• Sélectionnez « Use existing SDKs » puisqu'on a déjà téléchargé un SDK, puis cliquez sur « Browse... » pour sélectionner l'emplacement du SDK.

33

• Aussi appelé AVD

• Emulateur de terminal sous Android

Pas besoin d'un périphérique sous Android pour tester votre application

ANDROID VIRTUAL DEVICE(1/3)

34

• Lancez à nouveau Eclipse si vous l'avez fermé. Repérez tout d'abord où se trouve la barre d'outils

• Repérez le couple d’icônes suivant :

ANDROID VIRTUAL DEVICE(2/3)

35

• Celle de gauche permet d'ouvrir les outils du SDK et celle de droite permet d'ouvrir l'interface de gestion d'AVD. Cliquez dessus puis sur « New... » pour ajouter un nouvel AVD.

ANDROID VIRTUAL DEVICE(3/3)

36

TEST ET CONFIGURATION

37

VOTRE PREMIERE APPLICATION

38 ACTIVITÉ ET VUE

• Elément important dans le développement android

• Fenêtre affichant des informations (le plus souvent graphiques)

• Activité= contexte + Interface graphique

39ETATS D’UNE

ACTIVITÉ(1/2)

40ETATS D’UNE

ACTIVITÉ(2/2)

• 3 états distincts

41

Etat Visibilité DescriptionActive(«active » ou «running» )

L'activité est visible en totalité.

Elle est sur le dessus de la pile, c'est ce que l'utilisateurconsulte en ce moment même et il peut l'utiliser dans sonintégralité.C'est cette application qui a le focus, c'est-à-dire quel'utilisateur agit directement sur l'application.

Suspendue(«paused »)

L'activité est partiellement visible à l'écran.C'est le cas quand vous recevez un SMS et qu'unefenêtre semi-transparente se pose devant votreactivité pour afficher le contenu du message etvous permettre d'y répondre par exemple.

Ce n'est pas sur cette activité qu'agit l'utilisateur.L'application n'a plus le focus, c'est l'application sus-jacentequi l'a. Pour que notre application récupère le focus,l'utilisateur devra se débarrasser de l'application quil'obstrue, puis l'utilisateur pourra à nouveau interagir avec.Si le système a besoin de mémoire, il peut très bien tuerl'application (cette affirmation n'est plus vraie si vousutilisez un SDK avec l'API 11 minimum).

Arrêtée(«stopped»)

L'activité est tout simplement oblitérée par uneautre activité, on ne peut plus la voir du tout

L'application n'a évidemment plus le focus, puisquel'utilisateur ne peut pas la voir, il ne peut pas agir dessus.Le système retient son état pour pouvoir reprendre mais ilpeut arriver que le système tue votre application pour libérerde la mémoire système.

42CYCLE DE VIE D’UNE

ACTIVITÉ

43

CRÉATION D’UN PROJET

44

UN NON-HELLO WORLD!

Le GTUG vous remercie

Recommended