Upload
guillard-aurelien
View
169
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Informatique mobile, ubiquitaire et diffuse
Introduction à Android
2Informatique mobile, ubiquitaire et diffuse
Ma formation, mon expérience, mon entreprise
3Informatique mobile, ubiquitaire et diffuse
Présentation
● Aurélien Guillard● Développeur Mobile multiplateforme
– (Android, iPhone, Blackberry)– Lead Developer Android
● Contact● [email protected]
[email protected]● http://www.aurelienguillard.com● Twitter : @rorolepro (oui, je sais, ce pseudo est ridicule)
4Informatique mobile, ubiquitaire et diffuse
Formation
● 2010 : Ingénieur Réseau et Multimédia● Ecole Supérieure d'Ingénieurs de Luminy
● 2007 : DUT SRC● IUT de Laval
● 2005 : BAC S option SI● Lycée d'une petite ville près de Nantes
5Informatique mobile, ubiquitaire et diffuse
Expériences professionnelles
● Actuellement : Clicmobile (Android, iPhone, Blackberry)
● 2009 : Latin 3G S.A. de C.V. (Android)
● 2008 : GAROS (web)
● 2007 : e-doceo (ActionScript)
● 2006 : SA2EI (web)
6Informatique mobile, ubiquitaire et diffuse
Clicmobile
● Conseils stratégiques● Création et développement● Marketing et promotion● Statistiques d'usage
7Informatique mobile, ubiquitaire et diffuse
Clicmobile web framework
● Genération de backoffice d'applications● Génération de WebServices
● JSON● XML● PLIST
8Informatique mobile, ubiquitaire et diffuse
Clicmobile Analytics
9Informatique mobile, ubiquitaire et diffuse
Le métier au quotidien
● Estimation● Conception et architecture● Développement applications et librairies● Tests● Corrections et améliorations● Veille technologique
10Informatique mobile, ubiquitaire et diffuse
Android ?
11Informatique mobile, ubiquitaire et diffuse
Android
● Startup rachetée par Google en 2007● OS open-source
● Terminaux mobiles● Systèmes embarqués
● Développement ● Java/XML (SDK) ● C (NDK)
12Informatique mobile, ubiquitaire et diffuse
Une hausse constante
13Informatique mobile, ubiquitaire et diffuse
Les versions
● 3.0 : Honeycomb● 2.3 : Gingerbread● 2.2 : FroYo● 2.1 : Eclair● 1.6 : Donut● 1.5 : Cupcake Data collected during two weeks ending on January 4, 2011
14Informatique mobile, ubiquitaire et diffuse
Les terminaux
SonyXperia X10 Mini
240x320
HTCMagic
320x480
MotorolaMilestone480x854
SamsungGalaxy Tab600x1024
Un parc très varié : smartphones, tablettes, tv, autoradio...
15Informatique mobile, ubiquitaire et diffuse
Boutons physiques
HomeBack Search (optionnel)Menu
16Informatique mobile, ubiquitaire et diffuse
Android != iPhone
UINavigationBarController
UITabController
Tentative de reproduction de
"controllers" iPhone...
17Informatique mobile, ubiquitaire et diffuse
Les éléments de UI (User Interface)
18Informatique mobile, ubiquitaire et diffuse
ScrollView + Options Menu
TextView
ScrollView
Options Menu(clic sur le bouton physique "menu")
19Informatique mobile, ubiquitaire et diffuse
ProgressDialog
STYLE_SPINNER
20Informatique mobile, ubiquitaire et diffuse
Dialog
Custom dialog
TextView
EditText
Button
21Informatique mobile, ubiquitaire et diffuse
ImageView
ImageView
TextView
TextView
22Informatique mobile, ubiquitaire et diffuse
TabHost
TabWidget
FrameLayoutListView
23Informatique mobile, ubiquitaire et diffuse
MapView
Pas disponible dans le framework standard nécessite la lib Google APIs
com.google.android.maps.MapView
24Informatique mobile, ubiquitaire et diffuse
Outils de développement
25Informatique mobile, ubiquitaire et diffuse
Outils de développement
● Eclipse● http://www.eclipse.org/downloads/
● ADT plugin● https://dl-ssl.google.com/android/eclipse/
● Android SDK (Windows, Linux, MacOS)● http://developer.android.com/sdk/
● Téléchargement des plateformes depuis le SDK and AVD Manager
26Informatique mobile, ubiquitaire et diffuse
SDK and AVD Manager
27Informatique mobile, ubiquitaire et diffuse
Création d'émulateurs
28Informatique mobile, ubiquitaire et diffuse
DDMS
29Informatique mobile, ubiquitaire et diffuse
Composition d'un projet Android
30Informatique mobile, ubiquitaire et diffuse
Arborescence d'un projet
Java
Images
XML
Strings
Manifest
FrameworkGenerated java files
31Informatique mobile, ubiquitaire et diffuse
Composants d'application
● Activities● Services● Broadcast receivers● Content providers
32Informatique mobile, ubiquitaire et diffuse
Arborescence de l'application
PhotosetListActivity ContainerActivity
PhotosActivity
PhotosListActivity PhotosMapActivity
33Informatique mobile, ubiquitaire et diffuse
Intents
● Système de messages pour exécuter un composant (activity, service, broadcast receiver)
● Possibilité d'exécuter des composants d'une même application OU/ET d'applications différentes
● Android tente de répondre le mieux à chaque Intent (explicit/implicit intents)
34Informatique mobile, ubiquitaire et diffuse
Activity life cycle
35Informatique mobile, ubiquitaire et diffuse
Manifest.xml
Permissions
Plateforme cible
Activities
Numéros de versions
Intent filters
36Informatique mobile, ubiquitaire et diffuse
Création des vues
37Informatique mobile, ubiquitaire et diffuse
Une vue est décrite en XML
38Informatique mobile, ubiquitaire et diffuse
Assigner un layout XML à une Activity
Generated Class File Type de ressource Nom de la ressource
39Informatique mobile, ubiquitaire et diffuse
XML Inflate
40Informatique mobile, ubiquitaire et diffuse
Gestion des ressources
41Informatique mobile, ubiquitaire et diffuse
Types de ressource
● anim/● color/● drawable/● layout/● menu/● raw/● values/● xml/
42Informatique mobile, ubiquitaire et diffuse
Drawable auto-scaling
Même image, même nom de fichier, mais dans des dossiers
différents, chacun lié à une densité différente
(low, medium, high)
icon72x72
icon36x36
icon48x48
43Informatique mobile, ubiquitaire et diffuse
Resource qualifiers● MCC and MNC : mcc310 mcc310-mnc004 mcc208-mnc00 etc.
● Langage and region : en fr en-rUS fr-rFR fr-rCA etc.
● Screen size : small normal large xlarge
● Screen aspect : long notlong
● Screen orientation : port land
● Dock mode : car desk
● Night mode : night notnight
● Screen pixel density : ldpi mdpi hdpi xhdpi nodpi
● Touchscreen type : notouch stylus finger
● Keyboard availability : keysexposed keyssoft
● Primary text input method : nokeys qwerty 12key
● Navigation key availability : navexposed navhidden
● Primary non-touch navigation method : nonav dpad trackball wheel
● System version (API level) : v3 v4 v7 etc.
44Informatique mobile, ubiquitaire et diffuse
Connexion à un WebService
45Informatique mobile, ubiquitaire et diffuse
Flickr API
● Formats de requête● REST, XML-RPC, SOAP
● Formats de réponse● REST, XML-RPC, SOAP, JSON, PHP
● Flickr App Garden● http://www.flickr.com/services/api/
46Informatique mobile, ubiquitaire et diffuse
Couches applicatives
WebServiceAPIManagerContentManagerActivity
savePhotos(id) getPhotos(id) flickr.photosets.getPhotos
File responseStringJava object
47Informatique mobile, ubiquitaire et diffuse
Réponse API Flickr
48Informatique mobile, ubiquitaire et diffuse
APIManager
● Connexion à l'API REST● Appel non signé, sans jeton d'utilisateur● Méthode GET
49Informatique mobile, ubiquitaire et diffuse
ContentManager
50Informatique mobile, ubiquitaire et diffuse
Sauvegarde des données
51Informatique mobile, ubiquitaire et diffuse
Shared Preferences
● Accès : privé● Type : primitif (boolean, float, int, long, string)● Format : clé/valeur
● Utilisé pour sauvegarder des paramètres
52Informatique mobile, ubiquitaire et diffuse
Internal Storage
● Accès : privé● Format : fichier
53Informatique mobile, ubiquitaire et diffuse
External Storage
● Accès : public● Format : fichier
● Nécessite des vérifications : média monté sur une machine, absent, accessible qu'en lecteur, etc.
● Sauvegarder ses fichiers dans :/Android/data/<package_name>/files/
54Informatique mobile, ubiquitaire et diffuse
Databases
● Accès : privé● Format : données structurées● Type : SQLite
55Informatique mobile, ubiquitaire et diffuse
SQLiteOpenHelper
56Informatique mobile, ubiquitaire et diffuse
Android Market
57Informatique mobile, ubiquitaire et diffuse
Client Android Market
58Informatique mobile, ubiquitaire et diffuse
Client Android Market
Une seule page par application
Promotional Graphic (or icon)Description (4000 chars)
Screenshots (8)Avis
Applications semblablesInformations sur le développeur
Contenu Android Market
59Informatique mobile, ubiquitaire et diffuse
Android Market Admin
Peu de statistiques...
60Informatique mobile, ubiquitaire et diffuse
Upload Assets
Android Market web ?Google TV ?
61Informatique mobile, ubiquitaire et diffuse
Listing details
62Informatique mobile, ubiquitaire et diffuse
Publishing options« If you want porn, get an Android » – Steve Jobs
63Informatique mobile, ubiquitaire et diffuse
Liens
64Informatique mobile, ubiquitaire et diffuse
Documentation et examples
● http://developer.android.com● http://code.google.com/p/android-cookbook/● http://code.google.com/p/apps-for-android/● http://www.androidsnippets.org
65Informatique mobile, ubiquitaire et diffuse
Actualités
● http://www.frandroid.com● http://www.pointgphone.com
66Informatique mobile, ubiquitaire et diffuse
Aide
● http://forum.xda-developers.com● http://www.anddev.org● http://forum.frandroid.com
● https://groups.google.com/group/paris-android-ug
67Informatique mobile, ubiquitaire et diffuse
Utilitaires
● http://code.google.com/p/android-ui-utils/● http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html● http://www.droidthing.com
68Informatique mobile, ubiquitaire et diffuse
Livres
69Informatique mobile, ubiquitaire et diffuse
Merci de votre attention !J'ai hâte de tester vos applications;)