Vous êtes sur la page 1sur 51

Institut de la Francophonie pour l'informatique

Rapport final Travail Personnel Encadr


Sujet :

Systme d'exploitation pour les mobiles


Encadrement : Nguyen Hong Quang (IFI) tudiant : Nguyen Tien Thinh Promotion : 14

Hanoi, Juillet 2009

Remerciements
Je tiens remercier mon encadreur, M.NGUYEN Hong Quang, professeur l'Institut de la francophonie pour l'informatique pour son disponibilit et ses conseils, son orientation et surtout son aide. Il m'a toujours aide dans les moments difficiles et m'a guide dans la bonne direction dans mon travail. Je remercie aussi le corps enseignant de l'IFI pour les cours quils nous ont dispenss.

TABLE DE MATIERE
TABLE DE MATIERE ....................................................................................................................................... 3 CHAPITRE 1. INTRODUCTION ....................................................................................................................... 5 1.1. CONTEXTE ......................................................................................................................................... 5 1.2. PROBLEME A RESOUDRE ................................................................................................................... 5 1.2.1. Travail thorique ........................................................................................................................ 5 1.2.2. Travail pratique........................................................................................................................... 6 1.3. LES MOTS-CLEFS ................................................................................................................................ 6 1.4. RESULTAT ATTENDUS ......................................................................................................................... 7 1.5. CONTENU DU RAPPORT .................................................................................................................... 8 CHAPITRE 2. ETAT DE LART - LES SE POUR LES MOBILES ............................................................................. 9 2.1. BlackBerry ......................................................................................................................................... 9 2.2. PalmOS ............................................................................................................................................ 10 2.3. Symbian........................................................................................................................................... 10 2.4. Ubuntu MID Edition ........................................................................................................................ 11 2.5. Windows Mobile ............................................................................................................................. 12 2.6. Android............................................................................................................................................ 13 Tableau de comparaison entre les plateformes ..................................................................................... 14 CHAPITRE 3. DEVELOPPEMENT DUNE APPLICATION SUR ANDROID ........................................................ 17 3.1. POURQUOI NOUS AVONS CHOISI ANDROID ? ................................................................................ 17 3.2. QUEST-CE QUON VEUT FAIRE PRECISEMENT ? ............................................................................. 18 3.2.1. Pourquoi nous avons dcid de dvelopper ce logiciel? ........................................................ 18 3.2.2. Rsultats esprs la fin .......................................................................................................... 18 3.3. LES OUTILS ET LES DONNES AUXILIAIRES ........................................................................................ 18 3.3.1. Sources et types des outils qui seront ncessaires .................................................................. 18 3.3.2. Sources et types des donnes qui seront utiliss .................................................................... 19 3.4. ANDROID UNE NOUVELLE PLATEFORME PUISSANTE, MODERNE ET OUVERTE .......................... 19 3.4.1. Architecture dAndroid ............................................................................................................. 19 3.4.2. Les composants principaux d'une application ......................................................................... 21 3.4.3. Cycle de vie dune activit (Activity Lifecycle) .......................................................................... 22 3.4.4. Dveloppement dune application sur Android ....................................................................... 25 CHAPITRE 4. CONCEPTION ET IMPLEMENTATION ..................................................................................... 27 4.1. LA SPECIFICATION DANDROID QUIZZES (dans le point de vue de gnie logiciel) ........................... 27 4.1.1. Introduction au notre programme ........................................................................................... 27 4.1.2. Liste des activits ..................................................................................................................... 28 4.1.3. Cas dutilisation ........................................................................................................................ 28 4.1.4. Diagramme dactivit ............................................................................................................... 33 4.1.5. Diagramme de classe ............................................................................................................... 34 3

4.2. IMPLEMENTATION ........................................................................................................................... 35 4.2.1. Architecture de Android Quizzes ........................................................................................ 35 4.2.2. Les librairies de programmation utilise .................................................................................. 38 4.2.3. La norme GIFT .......................................................................................................................... 38 CHAPITRE 5. EXPERIMENTATION ET ANALYSE DES RESULTATS................................................................... 41 5.1. EXPRIMENTATION DES FONCTIONS DE ANDROID QUIZZES ........................................................ 41 5.2. ANALYSE DES RESULTATS ................................................................................................................. 47 CHAPITRE 6. CONCLUSIONS ET PERSPECTIVES .......................................................................................... 49 6.1. CONCLUSIONS ................................................................................................................................. 49 6.2. PERSPECTIVES ................................................................................................................................. 49 REFERENCES ............................................................................................................................................... 50 LA PARTIE THEORIQUE ........................................................................................................................... 50 LA PARTIE PRATIQUE .............................................................................................................................. 51

SYSTEME DEXPLOITATION POUR LES MOBILES


CHAPITRE 1. INTRODUCTION
1.1. CONTEXTE
Depuis quelques annes, les quipements mobiles sont de plus en plus complexes et robustes. Les appareils mobiles deviennent une combinaison de la technologie informatique et de la technologie du tlphone mobile. Dans lavenir, les mobiles peuvent remplacer gnralement le rle de lordinateur portable. Cest pour quoi, les systmes d'exploitation pour les mobiles (SE) de plus en plus deviennent importants, particulirement pour les fournisseurs, les dveloppeurs et les diteurs dapplication pour les mobiles. Grce la capacit mobile et le dveloppement des quipements mobiles, on peut dployer les services pour les socits base sur la technologie du tlphone mobile. Actuellement, il existe plusieurs SEs pour les mobiles comme Windows Mobile, Palm OS, Symbian, BlackBerry qui sont les systmes propritaires. De plus, il y a les plateformes libres ou code source ouvert comme Moblin.org, Ubuntu MID Edition, Android, etc. Chaque type de SE est souvent approprie quelques modles concrets des mobiles. Cependant, chaque type de SE a des avantages et des limitations. Il est donc trs difficile de choisir la plateforme rpondant bien lobjectif dune socit ou une personne. En 2007, Google et Open Handset Alliance (un consortium de plusieurs entreprises dont le but est de dvelopper des normes ouvertes pour les appareils de tlphonie mobile) ont annonc une nouvelle plateforme pour les mobiles qui sappelle Android qui a fait un grand clat. De plus, en 2008, Android est devenu une plateforme ouverte et open source. Le travail effectuer dans ce TPE se situe dans le domaine de rseaux sans fil et mobiles, cest prcisment le systme dexploitation pour les mobiles. Dans mon sujet, je vais faire une tude comparative entre ces plateformes. Ensuite, je vais continuer tudier Android pour dvelopper une petite application sur cette plateforme. Mon sujet est donc un sujet de recherche appliqu.

1.2. PROBLEME A RESOUDRE 1.2.1. Travail thorique


Etudier gnralement les systmes dexploitation pour les mobiles: Windows Mobile, Palm OS, BlackBerry, Symbian, Ubuntu MID Edition, Android. Proposer les critres pour comparer entre eux: o Caractristiques o Les applications tierces
5

o Les applications principales o Multimdia o Synchronisation avec lordinateur o Langage de programmation o Compatibilit avec Office o IDE (environnement de dveloppement intgr) o Courriel o Environnement de l'ordinateur o Etudier profondment le systme dexploitation Android

1.2.2. Travail pratique


tudier le systme dexploitation Android, installer et configurer lmulateur dAndroid o Les caractristiques, larchitecture dAndroid o Cadre de lapplication (en anglais Application Framework) o Android SDK o Emulateur Dvelopper une petite application sur cette plateforme o Etudier loutil pour dvelopper lapplication sur Android o Etudier les APIs (Application Program Interface) pour dvelopper lapplication sur Android

1.3. LES MOTS-CLEFS


Systme dexploitation : Le systme dexploitation (SE, en anglais Operating System ou OS) est un ensemble de programmes responsables de la liaison entre les ressources matrielles dun ordinateur et les applications informatiques de lutilisateur (traitement de texte, jeu vido, etc.). Il fournit aux programmes applicatifs des points dentre gnriques pour les priphriques. 1 Le SE contrle les oprations dun machine (lordinateur, appareil mobile, PDA, etc.) Les logiciels ne peuvent fonctionner sans un systme d'exploitation. Il offre les services pour communiquer entre machine et les utilisateurs. Rles du systme dexploitation : o Gestion du processeur o Gestion de l'excution des applications o Gestion de la mmoire vive o Gestion des droits
1

Wikipedia http://docs.moodle.org/en/GIFT

o Gestion des entres/sorties o Gestion des fichiers o Gestion des informations Systme dexploitation pour les mobiles : Les systmes dexploitation pour les mobiles sont des systmes d'exploitation prvus pour fonctionner sur les mobiles. Les appareils mobiles sont les appareils ressources limites ou faibles. Cest pourquoi, on doit adapter SE leurs limites. Le systme d'exploitation pour les mobiles dtermine les caractristiques, la performance et la scurit, en fournissant des API pour dployer et grer les applications (la fonction principale des mobiles, c'est communication entre eux par les services comme : tlphone, SMS, MMS, etc.) Les applications tierces : Les applications qui ne sont pas dvelopps par le producteur dquipement et le producteur du SE. Android SDK (Android Software Develogamepment Kit) : Le Kit de dveloppement logiciel pour la plateforme Android. Le Kit vous fournit les outils et les API ncessaires pour commencer dvelopper des applications pour la plateforme en utilisant le langage de programmation Java. Emulateur : Cest un appareil mobile virtuel qui fonctionne sur lordinateur. Lmulateur permet aux dveloppeurs de dvelopper, tester et valuer des applications Android sans l'aide d'un appareil physique. Smartphone, PDA : Les types de tlphone mobile. Les services principaux o Gestion du temps o Gestion de tches o Gestion de contacts o Navigateur web o Courriel o Lecteur de MP3, d'images, de vido o Bureautique Ils ont la capacit extensible. Cest--dire, on peut installer des applications additionnelles sur lappareil.

1.4. RESULTAT ATTENDUS


Les connaissances sur les plateformes : o Les bases de connaissances sur les quipements mobiles, un vue globale sur le
7

o systme dexploitation pour les mobiles. o Les connaissances globales sur les avantages et les limitations de chaque plateforme. o Proposer les critres pour comparer entre ces plateformes. Sur la plateforme Android : o Comprendre les caractristiques et l'architecture d'Android o Comprendre la mthode et le cycle pour dvelopper les applications sur Android o Dvelopper une petite application sur Android 1.5. CONTENU DU RAPPORT Notre rapport se compose 6 chapitres. Chapitre 1 : Dans ce chapitre, nous allons prsenter le contexte et lobjectif de mon travail et quelques notions utilises. Chapitre 2 : Nous allons parler des caractristiques, les avantages et les inconvnients de chaque plateforme. Nous allons aussi donner un tableau de comparaison entre des plateformes. Chapitre 3 : Cest le chapitre de ltat de lart. Dans ce chapitre, nous allons expliquer le raison de choix de la plateforme Android, lintroduction notre programme et les outils et les donnes auxiliaires. Nous allons aussi introduire plus dtaille la plateforme Android : larchitecture, les composants principaux dune application. Nous allons aussi prsenter le cycle de vie dune activit. Chapitre 4 : Cest limplmentation. Nous allons prsenter la spcification, lexigence, les diagrammes de classe et diagramme des activits de notre logiciel. Chapitre 5 : Cest le chapitre dexprimentation et danalyse des rsultats. En fin, Cest le chapitre de la perspective et de la conclusion. Il existe encore le chapitre auxiliaire, cest les rfrences.

CHAPITRE 2. ETAT DE LART - LES SE POUR LES MOBILES


Dans cette partie, nous prsenterons les caractristiques, les avantages, les inconvnients de chaque plateforme. Ensuite, nous prsenterons le tableau de comparaison entre les plateformes.

2.1. BlackBerry
BlackBerry a t cr par Research In Motion (RIM), une socit Canadienne. Il est une plateforme trs populaire particulirement dans Amrique du Nord. Selon un rapport de la socit Gartner, dans le march des tats-Unis, BlackBerry a maintenu le rang No1 avec 42 pour cent de marche. Mais cette plateforme seulement marche sur les appareils du BlackBerry. Au commencement, BlackBerry est dvelopp pour le businessman. Il y a donc des applications pour le business comme : les messages lectronique, les messages PIN, les messages texte (SMS), les messages MMS, le BlackBerry Messenger, le web navigateur, la tche, le mmo, etc. BlackBerry fournit le service de messagerie lectronique pour les socits, les entreprises en utilisant BlackBerry Enterprise Server. De plus, le fournisseur offre aux abonns des fonctions push de messagerie et d'accs mobile pratique du contenu Internet pour leurs terminaux. Il soutient aussi la technologie de la pice jointe qui soutiens beaucoup de types de pice jointe comme les fichiers avec les extensions .zip, .html, .doc, .dot, .ppt, .pdf, etc. Cest pourquoi son service de messagerie lectronique est plus meilleur que les autres plateformes. Dautre part, le systme de messagerie lectronique est plus sr que les autres. Maintenant, Blackberry est support dans beaucoup pays. Alors, lutilisateur peut accder au systme de courriel de son socit dans ses pays via la technologie du roaming. Cest pourquoi BlackBerry est Standard dor pour la messagerie lectronique. Maintenant, BlackBerry devient de plus en plus populaire dans le monde. Il non seulement retient les bons caractristiques mais encore offre les fonctionnalits pour les consommateurs comme le multimdia (l'appareil photo, le camera, etc.), la carte Mdia, etc. En gnral, malgr quil y a plusieurs applications tierces pour Blackberry mais le nombre dapplications tierces est moins que les applications pour Palm OS, Microsoft et Symbian. En termes dutilisation, la molette, le clavier QWERTY et linterface dutilisateur sont les excellents appareils pour faciliter dutiliser le systme de courriel. La technologie BlackBerry Connect permet les appareils qui marche sur les autres plateformes comme Symbian OS, Palm OS et Windows Mobile peuvent connectent avec BlackBerry Enterprise Server et BlackBerry Internet Server pour fournir les services comme la synchronisation de la messagerie lectronique, le visionnement de lattachement, etc..
9

En conclusion, gnralement pour les socits, BlackBerry est optimal pour les grands dploiements, mais pour les moyens ou les petits dploiements on peut choisir les autres plateformes.

2.2. PalmOS
Palm OS est dvelopp par la socit Palm. En gnral, Palm OS est logique, intuitif et simple. En dtaille, Palm OS est facile dutiliser et simple dapprendre. Il optimise les tapes pour naviguer entre les crans et choisir les applications. Par exemple, pour lancer un programme, appuyez sur son icne. Quand on passe une autre application, cette application se termine. Le systme de messagerie lectronique est ouvert, cest-a-dire, il peut fonctionner ensemble avec le systme du courriel de fournisseurs. Il peut aussi synchroniser avec Microsoft Exchange Server. Palm a le plus dapplications tierces. Il y a de plus 20.000 applications tierces pour largir la fonctionnalit des appareils. Alors, dans quelques cas, on doit utilise les applications tierces pour fonctionner quelques services comme regarder la vido, la TV, ou travailler avec Office. Pour les versions prcdentes (5.0 et plus tard), il y a un inconvnient ce quil est mono tche. Cest-a-dire, le systme d'exploitation ne peut grer qu'une seule tche en mme temps tandis que les autres plateformes sont multitches. Mais Palm OS version 6.0 est multitche. De plus, la nouvelle version offre plusieurs amliorations comme la communication, la multimdia, la synchronisation, etc. Tandis quil retient encoure les bons caractristiques dans les versions prcdentes. Alors, il ny a pas plusieurs socits qui choisissent Palm OS pour dployer les services de socits. Mais pour les consommateurs, il est un bon choix. En conclusion, Palm OS est facile dutilisation. Il y a beaucoup de applications tierces. Palm OS est un bon choix pour les consommateurs mais non pas les socits.

2.3. Symbian
Symbian est dvelopp par la socit Symbian. Selon la socit Gartner, Symbian a command 57 pour cent des ventes globales des utilisateurs finaux au cours du deuxime trimestre, en 2008 dans le march des systmes d'exploitation pour les Smartphones. Malgr que Symbian soit le leader mondial du systme dexploitation pour les Smartphones, il nexiste pas presque en Etats-Unis. Parce que, il y a peu dappareils sous Symbian qui soutient de CDMA qui est la technologie principale de la transmission de la voix en Etats-Unis. Grce lindpendance entre les composants du Symbian, il y a trois types de couche de linterface de lutilisateur principales (UI layer ou middleware ou intergiciel du SE Symbian), ce
10

sont : S60 qui est dvelopp par Nokia, UIQ par Sonny Ericsson et MOAP par NTT DoCoMo. Alors, il y a plusieurs applications diffrentes qui sont dvelopp sous 3 intergiciels ci-dessus. Pour le systme de messagerie lectronique, Symbian est soutenu par plusieurs systmes de messagerie lectronique comme BlackBerry (via BlackBerry Connect) et Microsoft (via Exchange ActiveSync), etc. Pour lutilisation, Symbian est plus facile que Windows Mobile mais plus difficile que Palm OS. Mais a dpend de chaque appareil. Il y a aussi plusieurs applications tierces (environ 5.500 applications). En effet, Nokia qui est le plus grand manufacture de tlphone dans le monde est le principal actionnaire de Symbian. Cest pourquoi Nokia utilise la plateforme Symbian pour ses Smartphones. Cela garantit la position du Symbian dans march des systmes d'exploitation pour les Smartphones. Mais au rapport de la socit Gartner, depuis quelques annes le part de marche de Symbian diminue cause de concurrence avec dautres plateformes. Symbian est extrmement puissance, offrant OS de soutien au niveau de la plupart des fonctionnalits que vous trouverez dans Palm, Windows Mobile et BlackBerry. Il offre une plateforme flexible, cest-a-dire, les manufactures peuvent ajouter facilement ses technologies, ses infrastructures la plateforme Symbian. De plus, il est soutenu par les grandes manufactures de l'industrie mobile comme Nokia, Sony Ericsson, Motorola, NTT DoCoMo, Renesas, etc. Alors, Symbian est bon choix pour les socits. En janvier 2008, Nokia a annonce des plans pour transformer Symbian en une plateforme en code source ouverte. Selon le calendrier de lancement du Symbian, le code source sera lanc en juin 2010. Il sera publi sous la licence la Licence publique Eclipse 1.0. (EPL 1.0). Grce au ses caractristiques, nous croyons que Symbian deviendra un majeur comptiteur de lAndroid dans lavenir. En conclusion, Symbian est puissance et trs populaire particulirement en Europe. Il est un bon choix pour les consommateurs et les socits grce au ses appareils - Nokia.

2.4. Ubuntu MID Edition


Ubuntu MID Edition est dvelopp par la communaut Ubuntu. Il est parrain par les socits Canonical et Intel. Les MIDs (Mobile Internet Device) sont les appareils quon peut mettre entre tlphone portable et lordinateur. Dautre part, les MIDs peuvent tre les terminaux mobiles multimdia dots ou non de fonctions de tlphonie. MIDs est cre sous lide de mini - lordinateur portable . Lusage principal des MIDs est le navigateur Internet en mobilit. Comme Android, grce au noyau Linux, Ubuntu MID Edition est sr. Ubuntu MID Edition est un projet en code source ouvert. Il est trs souple et ersonnalisable, permettant la diffrenciation des produits. Selon lintroduction du produit de la
11

communaut Ubuntu, il est simple dutilisation. Il peut intgrer avec les rseaux mobiles sociaux et les sites web 2.0. Il soutient aussi des varits dapplication de Web 2.0 comme le navigateur Web, la messagerie lectrique, le camera, le VoIP, le Messagerie instantane, le GPS, le blog, la TV, les jeux lectriques, etc. Pour la technologie de communication, il soutient Wi-Fi, 3G, Bluetooth, GPS et WiMAX. Particulirement, il a la grande capacit de stockage (de 2 Go 8 Go de Flash, ou 256/512 Mo de stockage du disque). Maintenant, Ubuntu MID Edition est utilis dans quelques modles de appareils utilisant une plate-forme Intel Atom, ou McCaslin comme Samsung Q1 Ultra, HTC Shift, Nokia N800 web tablette. En conclusion, Ubuntu MID Edition transfre lexprience dInternet sous lordinateur aux MIDs. En gnral, Ubuntu MID Edition est une plateforme pour les MIDs mais nest pas pour le tlphone portable.

2.5. Windows Mobile


Windows Mobile est dvelopp par la corporation Microsoft. Alors, Windows Mobile a la capacit de fonctionnement des logiciels sur Windows (seulement Windows), compatible avec tous les logiciels de Windows . Windows Mobile soutient beaucoup de types daudio, vido. Il soutient aussi la capacit de tlcharger, de jouer les chansons et de regarder le TV en ligne. Grce a les caractres, dans le domaine loisir, il est le plus bon. La messagerie lectronique du Windows Mobile nest pas bon que Blackberry mais il a le perspective du succs. Au lieu d'un modle push de la messagerie lectronique comme BlackBerry, Windows Mobile fait appel un genre de fast-pull , qui rcupre les donnes rapidement au lieu de l'avoir pouss l'appareil. De plus, il est moins scurit que Blackberry. En ternes dapplication, il a plus dapplications tierces que Symbian, BlackBerry mais moins dapplications tierces que Palm OS. Il utilise la mme collection de lAPIs avec Windows, il est facile de dvelopper application pour le dveloppeur de Microsoft, dexcuter pour les applications de Microsoft mais il nest pas bon pour les autres applications, les dveloppeurs. Dans la nouvelle version (comme version 6), Windows Mobile a amlior la capacit de connexion, de fonctionnement ensemble avec les autres appareils, et de compatibilit avec Office. Il a intgr plusieurs applications pour communication comme Windows Live, hotMail, Messenger, etc. Maintenant, dans le monde il y a plusieurs appareils qui marchent sur Windows Mobile comme quelques modles du Palm Treo pro, Motorola, Samsung, AT&T, T-Mobile, etc. Mais Nokia qui est le leader mondial du combin tlphonique nutilise pas Windows Mobile comme le SE pour les appareils.
12

En conclusion, grce au de la popularit de Microsoft, Windows Mobile est support par beaucoup de socits. Alors, il y a varit dapplications pour Windows Mobile, et il marche bien pour les applications de Windows.

2.6. Android
Android est dvelopp par lOpen Handset Aliance. Android a t annonce en 2007. De plus, en 2008, il est devenu une plateforme en code source ouverte. Selon Google qui est un majeur distributeur, Android est une plateforme puissant, moderne, scurit et ouverte. Android est bas sur le noyau Linux et utilise plateforme java pour les applications. Android est gratuit et complte ouverte. C'est--dire, le code source et les APIs sont ouvertes. Alors, les dveloppeurs obtiennent la permission dintgrer, dagrandir et de replacer les composants existants. De plus, il na pas des distinctions entre les applications natives et les applications qui sont dvelopps par les dveloppeurs parce quils accdent aux mmes APIs. Lutilisateur peut donc personnaliser facilement son appareil. La plateforme est trs flexible. On peut adapter les applications aux besoins du client ou le remplacer entirement. En raison de flexibilit et de varit de lapplication, il est difficile de choisir la meilleure application. En termes dapplication, Android est intgr plusieurs services de Google pour accder rapidement aux services dinternet comme Gmail, YouTube, Google Talk, Google Calendar et Google Maps. En novembre 2007, le SDK . Le SDK offre compltement les APIs pour dvelopper lapplication sur Android. On a lanc aussi les documentations, les outils pour dveloppement dapplication. Tous cela avec le dfi de dveloppement dAndroid ont prom les dveloppeurs. Maintenant, dans le monde il y a peu de modles dappareils qui marchent sur Android (T-Mobile G1, Kogan Agora, I7500 Galaxy). Cest pourquoi presque tous les dveloppeurs doivent dvelopper les applications sur lmulateur. Mais ces applications peut ne marche bien sur lappareil rel. Cest dautre difficult. En conclusion, malgr quil y ait plusieurs difficults nous croyons que lAndroid peut faire concurrence aux autres plateformes. Aprs examiner les caractristiques, les avantages et les inconvnients, nous trouvons que pour nous Android est la plus intressant. Cest pourquoi nous allons faire une tude plus approfondi Android.

13

Tableau de comparaison entre les plateformes


Mobile forme Socit RIM Standard dor pour courriel Palm logique, intuitif, simple Symbian Les manufactures peuvent ajouter ses technologies, ses Microsoft Compatibilit avec tous les logiciels de Windows Puissance - capacit de fonctionnement des logiciels sur Windows la (seulement de Windows - multi tche : robuste - smartdial Windows), plateBlackberry Palm OS

Symbian

Windows Mobile

Ubuntu Mobile Internet Device (MID) Edition

Android

Ubuntu communaut (Canonical Ltd et Intel)


Ubuntu produits. Utilisation simple Petite taille/ facteur de forme QWERTY clavier - clavier numrique virtuel ou physique Un cran tactile de 4 7 pouces Pouvoir intgrer avec les rseaux mobiles sociaux et les sitewebs 2.0 Wi-Fi, 3G, Bluetooth, GPS, WiMAX Stockage: 2GB to 8GB Flash ou stockage du disque, 256MB+ /512MB+ OpenGL 3D Gestion dutilisation en utilisant le Java, le Flash, lAJAX ; le HTML, Clutter, Python avec GTK, C/C++ avec GTK et Java PDF La vie de la batterie est longue MID Edition est trs souple et

Open Handset Aliance o o code source ouvert APIs ouvert La plate-forme base sur Linux 2.6.25 pour ARM (Acorn RISC Machine) Logiciels : o o o o o o Supporte le systme du fichier FAT32 Supporte TCP/IP (TCP, UDP, etc.)

facilement Caractristiques Multitches Bien intgration avec autres plateformes Dploiement une socit Gestion facile La vie de la batterie plus longue Facteur de forme est petit et clavier maniable Scurit haute sans menace dapplication coquine, virus, etc. facile pour utilisation simple et facile cran tactile mono tche navigation facile Multitches

personnalisable, permettant la diffrenciation des

infrastructures la plateforme non support CDMA, seulement GSM Beaucoup de fonctions caractristique prdominant Beaucoup des applications tierces USB v2.0, Bluetooth v2.0, WLAN, IrDA & serial TCP, IPv4, IPv6, MSCHAP v2, PPP Wi-Fi intgr

compatibilit avec tous les logiciels

Minimum de 128 Mo RAM et 256 Mo de mmoire flash 802.11 b / g Wi-Fi USB 2.0 Bluetooth 2.0 EDR (Enhanced Data Rate) Stockage amovible D'affichage: rsolution HVGA 16 bits de couleurs cran tactile QWERTY 5-directions de navigation Appareil photo LEDs Vibration GPRS, EDGE, UMTS, HSDPA Roaming internationale, SMS, MMS Des services pour la tlphonie : l'appel en attente, confrence tlphonique USSD RIL (Reference Radio Interface Layer)

Clavier -

Notifications -

Radio et la fonctionnalit de tlphonie -

Applications principales

Utiliser facilement quelques applications simples comme : carnet dadresses, gestion du temps, SMS, tlphone,

Calendrier De plus en plus varit

carnet dadresses, gestion du temps, SMS, tlphone, Calendrier, Calculatrice ...

calendrier gestion de la tche Internet Explorer Mobile ...

les fonctions de tlphonie ordinaire: contrle d'appel, etc.

Les fonctions de tlphonie ordinaire: contrle d'appel, confrences tlphoniques Navigateur Web (supporte le HTML et XHTML) Rveil, calendrier, Camra, Contacts, messagerie

14

Calendrier, Bloc-notes, Tches, Calculatrice, Gestion de mots de passe courriel Blackberry UI accder permet courriel VersaMail: IMAP, VPN via (virtual POP3, IMAP Lotus Notes Microsoft Exchange Pouvoir supporter les solutions du courriel Microsoft. de BlackBerry et POP3, IMAP L'amlioration Microsoft Exchange des Server, fonctionnalits de connexion technologie "fast-pull " Il ne fournit pas une rsolution de scurit de bout en bout courriel: (tandis quil existe dans BackBerry) Encryptage: DES, AES Accs courriel a distance de Haute rsolution dcran Bon qualit daudio Jouer avec lapplication tierce vido et de lecture et mais plus bon que les autres, supporte beaucoup de types de audio, vido. Tlcharger et jouer les chansons en ligne TV en ligne - Microsoft Outlook - Missing Sync(Mac OS) Un lecteur multimdia intgr pour la

instantane, MMS, Voice Dialer, GoogleSearch

Supporte les protocoles : POP3, IMAP4, SMTP.

Bluetooth, Wi-Fi, POP3, private network) Microsoft Exchange

rapidement et facilement. Recevoir/envoyer courriel Mieux courriel lattachement Encryptage DES, AES TLS encrypt automatique Push mail technology Multimdia Capacit enregistrable vido de lecture encastr: support types Camras intgrs plusieurs de supporter le avec

Lecteur de multimdia

permet de grer,

d'enregistrement, audio de lecture d'enregistrement dpendre chaque MID les interfaces codec daudio et vido compatible avec OpenMax IL 1.0

confrence du Voix et vido USB, un appareil photo numrique intgr, le microphone, lcouteur, haut-parleur

d'importer la lecture de contenu qui a t encod sous diverses formes. Audio: La sortie audio (mono et stro), 64 kbps audio Soutenir les formats : MPEG-4, H.264, MP3, AAC, AMR, JPEG, PNG, GIF.

Synchronization (entre tlphone portable et un lordinateur) un

Synchronisation tches, en utilisant : Outlook Lotus Notes

des

(sous Windows plateforme et Mac plateforme) : Outlook Palm desktop

contacts, des mmos, des

Mac OS: IIA's PocketMac pour Blackberry Compatibilit avec Office Applications tierces Il ny a pas beaucoup de bibliothque de logiciels tiers < Palm OS et Microsoft et Symbian Environ Langage de Java centaine des C/C++ C++, Java, OPL C++, C#/VB Shell, C/C++, Python, Java Java applications tires programmation IDE + SDK Blackberry JDE (Java CodeWarrior, GCC Nokia Carbide C++ (bas sur Visual Tools v4 (gratuit) Eclipse Eclipse (Android SDK pour Windows, Mac OS X Documents To Go DataViz Documents To Go : ne pas robuste mais peut supporter PDF Il y a beaucoup Avoir plus 5,500 applications tierces - Symbian, BlackBerry <Windows Mobile < Palm OS - Varit Varits des applications de Web 2.0 comme: navigateur, courriel, mdia, camera, VoIP, GPS, blog, TV, Jeux lectriques, contacts, etc. Android t support par Android communaut et Open Handset Aliance dapplications tierces (plus 29,000 applications) Supporter compltement mais Supporter compltement dpendre de chaque MID

15

Development Environment), sous Eclipse BlackBerry MDS Studio avec Runtime Environnement Les appareils Windows/Mac OS Blackberry Pearl, Blackberry 8820, etc. BlackBerry MDS plugin Visual Studio et

The Palm OS Software Development Kit (SDK)

Eclipse) Express (gratuit), Dev Edition

Visual Studio 2005 Standard Visual Studio Pro

Netbeans -

(Intel) et Linux (i386)) IntelliJ NetBeans (android plugin)

Windows/Mac/Linux Palm Centro, Palm Treo 755p, etc.

Windows Nokia E62, Nokia 9210, Sony Ericsson P800, P900, P910, Motorola A925, etc.

Windows/Mac OS/Linux Palm Treo pro, Samsung Saga, AT&T BlackJack II, T-Mobile Shadow, HTC FUZE, LG Incite, etc.

Ubuntu

Windows /Linux
T-Mobile G1, Kogan Agora, SamSung I7500 Galaxy

16

CHAPITRE 3. DEVELOPPEMENT DUNE APPLICATION SUR ANDROID


Dans ce chapitre, nous allons prsenter les raisons du choix dAndroid, les connaissances sur Android et les outils, les donnes auxiliaires pour crer une application dans la partie pratique.

3.1. POURQUOI NOUS AVONS CHOISI ANDROID ?


Dans la partie thorique, nous avons tudi les connaissances gnrales sur plusieurs plateformes. Nous avons donn les caractristiques, les avantages et les limitations de chaque plateforme. Nous avons prsent aussi le tableau de comparaison entre les plateformes. Dans la partie pratique, nous avons choisi la plateforme Andoird pour faire une tude approfondie et pour dvelopper une application simple. Il y a quelques raisons de mon choix : Android est une nouvelle plateforme en code source ouverte. De plus, selon Google qui est un majeur distributeur, Android est une plateforme puissante, moderne, sre et ouverte. Grce louverture du code source et des APIs, les dveloppeurs obtiennent la permission dintgrer, dagrandir et de replacer les composants existants. Les utilisateurs peuvent adapter les applications leur besoin.

Figure 1. Ouverture de lAndroid Android est bas sur le noyau Linux. Alors, il y a plusieurs avantages comme une grande mmoire, la gestion de processus, le modle de scurit, le soutien de bibliothque partag, etc. Le SDK de lAndroid offre compltement les APIs pour dvelopper lapplication sur Android. Grce au Android Developer Challenge que Google fournira 10 millions de dollars en prix - aucune condition pour les applications sur la plateforme Android, les dveloppeurs ont eu lopportunit de gagner beaucoup dargent.

17

3.2. QUEST-CE QUON VEUT FAIRE PRECISEMENT ?


Prcisment, dans la partie pratique, nous allons faire :
-

tudier le systme dexploitation Android, installer et configurer le systme de dveloppement et lmulateur dAndroid sur Ubuntu. tudier les outils pour dvelopper lapplication sur Android. tudier les APIs (Application Program Interface) pour dvelopper lapplication sur Android. Dvelopper une application qui sappelle Android Quizzes qui aide les utilisateurs se

vrifier leur niveau dans un domaine concret. Les fonctions de Android Quizzes : Slectionner un quiz dans la banque de quiz local. Importer des quiz qui sont stock dans un server distance sous la norme GIFT. Excuter, afficher le rsultat et les rapports. Grer des quiz.

3.2.1. Pourquoi nous avons dcid de dvelopper ce logiciel?


Maintenant, il existe plusieurs applications sous la plateforme Android. Mais nous trouvons quil non seulement manque les applications dducation sous la plateforme Android mais encore dans la plupart des plateformes. Aujourdhui au Vietnam, les lves doivent participer au baccalaurat. Dans cet examen on utilise les types de question comme choix multiple. Notre logiciel les aide donc vrifier leur niveau de connaissance tout moment et n'importe o. Cest pour quoi notre logiciel peut tre une solution dans lapprentissage mobile au Vietnam. Nous croyons que dans le futur proche, lapprentissage mobile sera populaire pour non seulement les lves mais encore les socits. On pourra donc utiliser notre logiciel dans lapprentissage mobile. Mais en raison de la nouveaut de notre logiciel, il existe aussi les risques.

3.2.2. Rsultats esprs la fin


Dans la partie pratique, nous esprons que : Nous pourrons comprendre globalement larchitecture de lAndroid, les APIs, les outils pour dvelopper lapplication sous Android. Nous finirons la premire version de notre logiciel.

3.3. LES OUTILS ET LES DONNES AUXILIAIRES 3.3.1. Sources et types des outils qui seront ncessaires
Pour dvelopper une application sur Android, nous utiliserons la plateforme Eclipse et JDT plugin. En dtails :
-

Eclipse 3.3 (Europa) ou 3.4 (Ganymede) sous Ubuntu


18

Eclipse JDT plugin Dalvik Debug Monitor Service (DDMS) Android Development Tools (ADT) Eclipse WST (facultatif, pour Android Editors) JDK 5 ou JDK 6 Non compatible avec Gnu Compiler pour Java (gcj) Nous utiliserons aussi lmulateur dAndroid comme un appareil virtuel pour dvelopper

lapplication. Lmulateur qui est un appareil mobile virtuel qui fonctionne sur lordinateur permet aux dveloppeurs de dvelopper, tester et valuer des applications Android sans l'aide d'un appareil physique. Lmulateur de Android imite tous les types de matriel et de logiciel principal dun appareil mobile, sauf quil ne peut pas recevoir, appeler lappel rel. A ct les outils, nous ne pouvons pas aborder le SDK du Android. Le SDK est une collection dAPIs qui fournissent les procdures disponibles, les fonctions pour faciliter le processus du dveloppement dune application sur Android.

3.3.2. Sources et types des donnes qui seront utiliss


Nous avons utilis linternet pour chercher le code source de notre logiciel en Java mais nous navons pas trouv. Nous devons donc dvelopper notre application depuis le commencement jusqu' la fin. Pour tester des fonctions de notre logiciel, nous utiliserons quelques questions du ministre Vietnamien de lducation et de la formation pour le baccalaurat. Cela est possible parce que nous avons eu ces questions.

3.4. ANDROID UNE NOUVELLE PLATEFORME PUISSANTE, MODERNE ET OUVERTE


Android est ensemble de pile de logiciel qui se compose 4 parties : SE (Systme dexploitation) Intergiciel (Middleware) Les applications principales Ensemble des APIs

3.4.1. Architecture dAndroid


Larchitecture de lAndroid se compose 4 couches. Ce sont le noyau Linux, les bibliothques et le moteur d'excution Android, le Cadre de lapplication et le couche dapplications. Linux Kernel Android est bas sur le noyau Linux (2.6.24). Alors, il y a plusieurs avantages comme grand mmoire, gestion de processus, modle de scurit, soutien de bibliothque partag,

19

etc. il fournit les drivers pour communiquer entre les hardwares et leurs logiciels. De plus il y a les parties daugmentation comme la gestion dnergie.

Figure 2. Architecture de l'Android Bibliothque Cest une collections de plusieurs bibliothques qui bas sur C /C++ comme : - Bionic : Cest une bibliothque qui implmente la bibliothque Libc - Bibliothque de la fonctionnalit : WebKit navigateur pour web navigateur ; Media Framework pour soutenir vido, audio normal ; SQLite pour stoker de donnes, etc. - HAL (Hardware Abstraction Libraries) pour sparer entre le hardware et la plateforme logique. Moteur d'excution dAndroid (Android Runtime) Moteur dexcution dAndroid se compose les bibliothques du cur, la machine virtuelle Dalvik. Les bibliothques du cur pour Java fournissent des puissances, des simples pour dvelopper la plateforme. La machine virtuelle Dalvik fournit un environnement qui peut fonctionner sur un CPU limit et dans les situations de faible nergie. Il utilise le format du fichier .DEX pour optimiser les ressources comme CPU, RAM, et pour lapplication portable. Pour les fichiers .jar, le systme utilise un outil intgr pour convertir byte code .jar en .dex.

Figure 3. Conversation dun fichier .java un fichier .dex


20

Carde de lapplication (Application Framework) Carde de lapplication (Application Framework) fournit les services principaux pour la plateforme Android et les services principaux pour accder API du hardware au bas niveau. Les Applications Ce sont les applications qui marchent sous la plateforme Android comme: le rveil, la calculatrice, le calendrier, la camra, les contacts, etc. Toutes les applications sont dveloppes par Java. Nous pouvons trouver que tous les composants de lAndroid sont ouverts. Cela garantit louverture de lAndroid.

3.4.2. Les composants principaux d'une application


Une application Android se compose une collection des composants. Il y a 4 composants principaux :

Figure 4. Les composants principaux d'une application Android Activity La plupart des applications se compose plusieurs crans. Chaque cran peut tre ralis par une activit. Si un nouvel cran ouvre, le systme utilise une pile dhistoire pour stocker les crans prcdents et pouvoir reprendre ltat prcdent ou enlever cet tat. Broadcast Intent Receiver On peut utilise Broadcast Intent Receiver pour excuter les ractions sur les vnements extrieurs. Par exemple, lapplication excutera automatiquement si une Broadcast Receiver est veill (trigger). Service Une Service est utilis pour raliser lapplication en arrire-plan. Cest--dire, cet application peut marcher quand dautre application est en train dexcuter comme les services de lecture de musique. Content Provider Content Provider fournit des mthodes pour stocker ou rendre de donnes. Il permet partager des donnes entre les applications via les fichiers, ou une base de donnes de SQLite.
21

Dpend chaque application, elle peut avoir tous les composants en dessus ou non. Mais elle sera cre par ces composants.

3.4.3. Cycle de vie dune activit (Activity Lifecycle)


Pour dvelopper dune application sur Android, on doit comprendre le cycle de vie dune activit. Le cycle de vie dune activit est exprim par la figure suivant (Figure 5. Le cycle de vie dune activit). Ltat Active/courant (Running) : Cest un tat que lactivit marche en avant-plan. Dans ce cas, cette activit est actif ou de la course. On peut dire que cette activit ait la concentration (focus). Ltat Paused (il est en pause) : Cette activit est visible mais il a perdu de se concentrer. Ltat Stopped : Cette activit nest pas visible. Si une activit est compltement masque par une autre activit, il est arrt. Il conserve tous les tats membres et de l'information, cependant il n'est plus visible pour l'utilisateur que sa fentre est cache et il sera souvent tus par le systme lorsque la mmoire est ncessaire ailleurs. Ltat Dead : Cette activit a termin ou il n'a jamais t dmarr. Si une activit est en pause ou arrte, le systme peut chuter l'activit de la mmoire, soit par lui demandant de se terminer, ou tout simplement tuer le processus. Quand il est affich de nouveau l'utilisateur, il doit tre redmarr et restaur son tat antrieur. Il existe trois boucles principales: La dure de vie d'une activit se passe entre le premier appel OnCreate () par lappel onDestroy (). Une activit met en place tous les tats globaux dans la mthode onCreate () et libre toutes les ressources restantes onDestroy (). La dure de vie visible d'une activit se passe entre un appel onStart () jusqu' ce qu'un appel correspondant onStop (). Dans ce temps, l'utilisateur peut voir l'activit sur l'cran, mme si elle nest pas l'avant et l'interaction avec l'utilisateur. Entre ces deux mthodes, les ressources qui sont ncessaires pour montrer l'activit de l'utilisateur sont conserves. La dure de vie dune activit en avant-plan se passe entre un appel onResume () jusqu' ce qu'un appel correspondant onPause (). Dans ce temps, l'activit est en face de toutes les autres activits et d'interagir avec l'utilisateur. Une activit peut souvent changer son tat entre ltat de reprise et ltat en pause.

22

Voici le cycle de vie dune activit

Figure 6. Le cycle de vie dune activit Exemple : Pour mieux comprendre le cycle de vie dune activit, nous donnons un exemple suivant. Dans cet exemple, on suppose quun utilisateur parle son ami via son tlphone portable. Dans ce moment, il demande aussi au navigateur de chercher son figure dans son album de Picasa et de lenvoyer son ami via le courriel et reprendre cette conversation. Dans ce cas, il y a 4 applications diffrents et 4 processus diffrents courants. Mais partir du point de vue de lutilisateur, toutes les activits ne sont pas importantes. Android gre le CPU et l'utilisation de la mmoire elle-mme. Il signifie que l'utilisateur peut traverser les applications avant et en arrire sans penser la mmoire et des processus excuts.
23

Figure 7. Une pile d'application Voici les ordres dexcution des applications et des processus correspondants.

24

Figure 8. Les tapes dune pile dapplication

3.4.4. Dveloppement dune application sur Android


Voici quelques tapes principales dans le processus de dveloppement dune application sur Android : Faire la conception de la base de donnes. Crer des classes pour reprsenter les donnes physiques (couche Mapping) et pour dfinir des actions comme : supprimer, ajouter, modifier des donnes. Dessiner des interfaces en les fichiers XML ou en codage : o Les vues (View) : Text, Edit, List, Image, Web, Map, etc. o Les arrangements (layout) : Frame, Linear, Relative, Table, Absolute
25

Choisir des arrangements (layout) : Les layouts sont les ressources qui indiquent les interfaces des activits. On utilise les fichiers XML pour exprimer les interfaces. Mais il existe dautre technique pour dessiner linterface. Dans cette technique, on programme directement les composants graphiques en utilisant le codage. Organiser des ressources: les constantes globales (string.xml), les icnes, les images, etc. Crer et mettre jour le fichier de configuration : AndroidManifest.xml. AndroidManifest.xml (configuration de lapplication) est utilis pour stocker les dispositions (settings) globales comme les permissions de l'application, les activits, les filtres de l'intention.

Figure 9. Une application sur android Crer des activits (Crer les classes pour excuter les fonctions avec la base de donnes (ajouter, supprimer, modifier, mettre jour, etc.) : o Chaque activit peut correspondre avec un cran ou une fonction de cette application. o Il existe quelques activits qui soccupent des mthodes pour communiquer avec la base de donnes (Couche Mapping). o Les Intents sont utilises pour orienter des activits (CALL, ACTION_MAIN, ACTION_VIEW, etc).

26

CHAPITRE 4. CONCEPTION ET IMPLEMENTATION


Dans la partie pratique, nous devons programmer une application sur Android. Selon le point de vue de gnie logiciel, nous devons donc faire quelques activits comme : ltude pralable, ltude technique, liste des activits, le diagramme des activits, cas dutilisation, etc.

4.1. LA SPECIFICATION DANDROID QUIZZES (dans le point de vue de gnie logiciel) 4.1.1. Introduction au notre programme
Le but du projet a pour dvelopper une application qui marche sur la plateforme Android pour organiser des quiz et pour aider les utilisateurs vrifier leur niveau. Caractristiques des utilisateurs : Utilisateurs utilisent leur tlphone portable qui est install notre logiciel pour slectionner une liste des quiz et jouer avec eux.
Contraintes de dveloppement

Fonctions : les fonctions qui sont dfinis dans la version 1 Temps : dans le temps du TPE Limitation des ressources : limitation du mmoire interne du tlphone portable
Moyens logiciels

Lenvironnement de dveloppement Eclipse sous Ubuntu Le SDK de lAndroid Emulateur ADT


Risque

Il manque des connaissances sur la programmation mobile Il y a plusieurs APIs que nous devons examiner On peut tester seulement sous un mulateur
Fonction du logiciel

Notre logiciel permet: Organiser un test : Slectionner un quiz dans la banque de quiz qui est classifi en trois niveaux difficults : facile, moyen, et difficile. Importer les fichiers de quiz sous norme standard comme : GIFT, IMS QTI, HotPotatoes, etc. Excuter, afficher le rsultat et les rapports. Grer des quiz.
27

Supporter les questions qui comprennent les composants multimdias. Notre logiciel marche en mode hors ligne. Tous les quiz ont donc stocks dans la base de donnes locale. Mais on peut connecter avec des serveurs distance pour importer des quiz. En raison de limitation de temps dans la partie pratique, nous allons dvelopper une application trs simple. Mais nous allons continuer complter ce logiciel aprs finir le travail du TPE. En dtails, dans cette tape, nous allons dvelopper notre application avec les fonctions essentielles (version 1) : Supporter seulement les questions de texte sans multimdia. Slectionner un quiz dans la banque de quiz locale. Importer des quiz qui sont stock dans des serveurs distance. Excuter, afficher le rsultat et les rapports. Grer des quiz.

4.1.2. Liste des activits

Figure 10. Liste dactivits de notre programme

4.1.3. Cas dutilisation

28

Figure 11. Cas d'utilisation Les cas d'utilisations suivants reprsentent lensemble des besoins et des exigences que notre application doit respecter. Ces cas dutilisations sont regroups en modules. Quizzes

Figure 12. Cas d'utilisation -Quizzes


Organiser un quiz UC1 : Organiser un quiz/ slectionner un quiz Nom Rsum Acteur UC1. Organiser un quiz/ slectionner un quiz Utilisateur slectionne un quiz dans la liste des quiz local pour organiser un test. Utilisateur

29

Pr-conditions Evnements de base

Il existe au moins un quiz dans la banque locale. Utilisateur clique sur le fileur pour slectionner la catgorie et le quiz. Utilisateur affirme ses choix.

Evnements alternatifs Post conditions

Si utilisateur ne choisit pas la catgorie et le quiz, le systme affichera un message. Le systme organise et affiche les questions dans ce quiz pour commencer le test.

Slectionner les rponses UC2 : Slectionner les rponses Nom Rsum Acteur Pr-conditions Evnements de base Evnements alternatifs Post conditions Voir le rsultat rsume UC3 : Voir le rsultat rsum Nom Rsum Acteur Pr-conditions Evnements de base UC3 : Voir le rsultat rsum Le systme affiche le rsultat du test. Utilisateur Utilisateur a fini ses choix. Utilisateur clique sur le lien de voir le rsultat. Le systme affichera les informations : le nombre de question, le nombre de rponse correct, incorrect. Evnements alternatifs Post conditions Voir le rsultat dtaill UC4 : Voir le rsultat dtaill Nom UC4 : Voir le rsultat dtaill 30 Le systme affiche le rsultat rsum UC2 : slectionner les rponses Utilisateur slectionne les rponses de chaque question dans ce test. Utilisateur Un test a t cr Utilisateur clique sur la rponse quil choisit. Utilisateur affirme ses choix. Si utilisateur ne choisit pas une rponse parmi les rponses, le systme considre que la rponse de cette question soit incorrect. Le systme organise des rponses pour calculer le rsultat.

Rsum Acteur Pr-conditions Evnements de base

Le systme affiche le rsultat dtaill du test. Utilisateur Utilisateur a fini ses choix et voir le rsultat rsum. Utilisateur clique sur le lien de voir le rsultat. Pour chaque question, le systme affichera sa question et ses rponses, la correcte rponse et la rponse de lutilisateur. De plus, il affichera linformation de rtroaction.

Evnements alternatifs Post conditions Le systme affiche le rsultat dtaill

Importer des Quiz

Figure 13. Cas d'utilisation -Importer des quiz


Slectionner ladresse de serveur de base de donnes UC5 : Slectionner ladresse de serveur de base de donnes Nom Rsum Acteur Pr-conditions Evnements de base UC5 : Slectionner ladresse de serveur de base de donnes Utilisateur slectionne un serveur de base de donnes pour importer des quiz. Ladministrateur Il existe les adresses des serveurs. Administrateur slectionne un serveur dans la liste des serveurs Sil ladministrateur affirme cet action, le systme connecte sur ce serveur. Evnements alternatifs Post conditions Retourner le rsultat : le systme va faire la connexion ver le serveur 31 Administrateur peut annuler cette action.

Vrifier le statut de connexion UC6 : Vrifier le statut de connexion Nom Rsum Acteur Pr-conditions Evnements de base UC10 : Vrifier le statut de connexion Le systme vrifie le statut de connexion. Ladministrateur Une adresse de serveur est entre. Ladministrateur indique le systme quexcute la fonction : Vrifier le statut de connexion. Le systme rpond cette demande en affichant un dialogue progressive. Si cette connexion est succs, le systme affichera un cran de choisir les fichiers imports. Si cette connexion nest pas succs, le systme affichera un dialogue : essayer dautres adresses ou non ? Evnements alternatifs Post conditions Importer un quiz UC7 : Importer un quiz Nom Rsum UC11 : Importer un quiz Administrateur importe un quiz qui est stocks dans un fichier sous la norme standard : GIFT et est comprim sous norme .Zip dans un serveur distance. Acteur Pr-conditions Evnements de base Administrateur Il existe un quiz dans ce serveur. La connexion entre le serveur et le tlphone portable est tablie. Importer un quiz : Le systme affiche une liste de catgories et une liste de leurs quiz. Administrateur choisit un quiz. Administrateur affirme cette action. Le systme importe de base de donnes ce quiz et affiche un message du rsultat. Evnements alternatifs Post conditions Le systme affichera un message derreur sil y a une erreur pendant limportation ou le format de ce fichier est invalide. Administrateur peut annuler cette action. Des nouvelles questions, de nouvelle quiz dans la base de donnes 32 Retourner le rsultat : connexion est succs ou non Administrateur peut annuler cette action.

Grer des quiz


Supprimer un quiz : UC8 : Supprimer un quiz Nom Rsum Acteur Pr-conditions Evnements de base UC8 : Supprimer un quiz Administrateur supprime un quiz. Administrateur Il existe au moins un quiz dans la base de donnes. Ladministrateur indique que le systme excute la fonction : Supprimer un Quiz : Administrateur choisit le menu : supprimer un quiz. Le systme rpond cette action en affichant un dialogue pour donner une question que lutilisateur veut vraiment excuter cette action ou non. Administrateur affirme cette action. Le systme supprime ce quiz Evnements alternatifs Post conditions Supprimer un quiz et met jour la base de donnes. Administrateur peut annuler cette action.

4.1.4. Diagramme dactivit


Lactivit principale

Figure 14. Diagramme dactivit principale


33

Importer un quiz

Figure 15. Diagramme dactivit - Importer un Quiz

4.1.5. Diagramme de classe

Figure 16. Le diagramme de classe

34

4.2. IMPLEMENTATION 4.2.1. Architecture de Android Quizzes


Notre application se compose 4 couches. Voici les fonctions principales de ces couches : Couche Application : La couche Application reprsente l'interface de lutilisateur. Elle interagit directement avec les utilisateurs. Couche Entreprise : La couche Entreprise regroupe les objets communs et structurants pour toutes les applications, et garantit lintgrit des donnes. Elle correspond la partie fonctionnelle de l'application. Elle fournit des services pour rpondre aux requtes du client. Couche Mapping : La couche Mapping transforme la reprsentation physique des donnes en une reprsentation Objet en tenant compte du langage de programmation. Figure 17. Larchitecture de lapplication
-

Couche Physique : La couche Physique correspond la structure physique des donnes (la base de donnes).

Voici les couches dans notre programme : Couche Physique : Pour stocker des donnes, Android fournit 4 techniques : Shared Preferences , Files , SQLite Databases , Content Providers . Dans notre programme, on utilise le mcanisme Content Providers pour stocker et retirer de donnes. - Content Providers : un Content Providers est un composant facultatif dune application qui expose les accs en lecture/criture aux donnes prives de cette application sous une restriction. Il utilise les syntaxes, le mcanisme standard pour demander et renvoyer de donnes. Vous pouvez contrler l'accs un Content Providers en utilisant les permissions standard du systme.

Figure 18. Fournisseur de contenu et donnes physique


35

Couche Mapping : mapping entre les tableaux physiques avec les classes.
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/quiz"); public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.google.quiz"; public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.google.quiz"; public static final String DEFAULT_SORT_ORDER = "_id ASC"; public static final String TITLE = "title"; public static final String QUESTION = "question"; public static final String RESPONSE1 = "response1";

Couche Entreprise : Elle se compose des classe pour faire des fonctionnalits principales comme: o tablir la connexion, o Retirer les quiz aux fichiers sous norme GIFT, o Importer des quiz, o Supprimer un quiz et tous les quiz dans une catgorie.

Implmentation de GUI : Il existe 2 mthodes pour faire le GUI : on peut utiliser le fichier .XML ou utiliser directement le codage. Sil on utilise le fichier .XML, on peut se rfrer les composants dans fichier .XML par le rfrence : @id/name_for_component La plupart de ressources de GUI peut se trouver dans les rpertoires: o res/layout o res/values Les lments principaux dUI: Layout : FrameLayout, LinearLayout, RelativeLayout, TableLayout, AbsoluteLayout Views : TextView, EditText, ListView, ImageView, MapView, WebView
<TextView android:id="@+id/id_select_category" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15sp" android:text="@string/select_category" android:layout_x="30px" android:layout_y="80px" > </TextView>

36

<Spinner android:id="@+id/sp_category" android:layout_width="150px" android:layout_height="wrap_content" android:textStyle="bold" android:textSize="17sp" android:drawSelectorOnTop="true" android:prompt="@string/tx_select_category" android:layout_x="170px" android:layout_y="70px" />

sCategory = (Spinner) findViewById(R.id.sp_category); ArrayAdapter<String> adapterCategory = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item); adapterCategory .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); sCategory.setAdapter(adapterCategory);

Et voici ce texte et fileur :

Figure 19. Texte et fileur Manipulation de lvnement sous Android (Event Handling in Android) Il y a quelques mthodes pour la manipulation de lvnement. Mais la mthode simple est la mthode qui utilise lauditeur de lvnement (event listener) pour lcouter de l'interaction de l'utilisateur. Un auditeur de lvnement est une interface de classe View qui contient des mthodes de callback. Ces mthodes seront appeles par le cadre de lapplication de lAndroid quand le View qui a t enregistr est dclenche par l'interaction de l'utilisateur.
public class SelectQuiz extends Activity implements View.OnClickListener, AdapterView.OnItemSelectedListener { sCategory = (Spinner) findViewById(R.id.sp_category); sCategory.setOnItemSelectedListener(this);

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3) { // TODO Auto-generated method stub ... } }

37

4.2.2. Les librairies de programmation utilise


Pour dvelopper notre programme, nous avons utilis les librairies dAndroid et les librairies de Java. Voici les librairies : Les librairies de lAndroid : android.content : Il fournit des classes pour accder et traiter des donnes sous Android comme : android.content.ContentProvider, android.content.Intent, etc. android.app: Cest une ensemble des classes d'encapsulation application de lAndroid en haut niveau comme : android.app.Activity, android.app.Dialog, etc. android.view : Il fournit des classes qui exposent l'interface utilisateur de base et grent l'interaction avec l'utilisateur comme : android.view.Menu, android.view.View, etc. android.widget : Il contient des lments dUI comme le bouton-poussoir (android.widget.RadioButton), fileur (spinner- android.widget.Spinner), adaptateur (adapter - android.widget.AdapterView) android.net : Il fournit des classes pour travailler avec le rseau : android.net.Uri, android.net.http, etc. android.database : Il contient des classes pour explorer des donnes retournes par un fournisseur de contenu (content provider) : android.database.Cursor. Les librairies de Java : java.io : Il fournit des fonctions du systme d'entre et de sortie et du systme de fichiers : java.io.BufferedReader, java.io.InputStream, etc. Java.net : Il fournit des classes pour implmenter des applications en rseau : java.net.HttpURLConnection, java.net.URLConnection, etc. Java.util : Nous avons travaille avec les classes de collection : java.util.List, java.util.Map, etc.

4.2.3. La norme GIFT


Dans les serveurs de base de donnes, chaque quiz est stock dans un fichier sous norme GIFT. GIFT permet le fournisseur de services de test de crer facilement des questions en utilisant plusieurs outils qui soutiennent cette norme (Moodle). La norme GIFT (General Import Format Template) est propose par la communaut Moodle, et est adopt par plusieurs plateformes de lapprentissage en ligne comme une norme de stockage de question2. Nous avons choisi GIFT parce que GIFT est bonne, ouvert et assez simple. Voici les instructions gnrales dun fichier GIFT : Au moins une ligne vierge doit tre laisse entre chaque question.
2

http://docs.moodle.org/en/GIFT

38

Dans la forme simple, la question vient en premier, puis les rponses sont mises entre crochets, avec un signe gal indiquant la bonne rponse (s) et le tilde de mauvaises rponses. A Nombre signe insrer une rponse. Les symboles de format
Symbole // { = ~ Utilisation Commentaire Commencement de la rponse La rponse correcte La rponse incorrecte Symbole ::Titre:: } # Titre Aprs la dernire rponse Rtroaction/ commentaire Utilisation

On peut dcrire la question numrique, la question matching et le poids des rponses :


Symbole {# -> utilisation Symbole utilisation Range de la question numrique poids 50%

Commencer la question numrique : Matching %50%

//line commentaire ::Titre de la question:: Question { =rponse correcte ~rponse incorrect 1 # rtroaction pour la rponse incorrecte 1 ~rponse incorrect 2 # rtroaction pour la rponse incorrecte 2 ~rponse incorrect 3 # rtroaction pour la rponse incorrecte 3 }

Question {=rponse correcte ~rponse incorrect 1 ~rponse incorrect 2 ~rponse incorrect 3}

Voici une question : Do all the Activities and Services of an application run in a single process?{=yes, by default ~ yes, declare by user ~No, multi process}

39

Figure 20. Une question

40

CHAPITRE 5. EXPERIMENTATION ET ANALYSE DES RESULTATS


Pour exprimenter notre logiciel, nous avons cr les serveurs de base de donnes distance. Chaque serveur stocke des auiz en catgories. Les quiz sont stocks sous forme GIFT. Les quiz peuvent tre cre par les outils de cration de question comme : HotPotatoes, Moodle, ect. Nous avons utilis des questions dans lexamen de baccalaurat comme les questions dchantillons. Pour faciliter de lutilisation, on a fix trois serveurs correspondant 3 adresses : http://el.edu.net.vn/questionbank/category.html http://ocw.vn/questionbank/category.html http://115.84.178.65/questionbank/category.html

Figure 21. Slection des serveurs De plus, notre logiciel permet lutilisateur dentrer ladresse dautres serveurs de base de donnes. Chaque quiz est stock dans un fichier sous norme GIFT. De plus, ce fichier est comprim sous norme ZIP pour conomiser la charge de la transmission des donnes entre client et serveur.

5.1. EXPRIMENTATION DES FONCTIONS DE ANDROID QUIZZES


Les fonctions principales de notre programme sont: Organiser un test Grer des quiz Importer des quiz qui sont stocks dans les serveurs distance. Nous avons test ce logiciel, voici les rsultats qui sont expliqus par les crans.

41

Voici lcran principale de ce logiciel

Figure 22. Lcran principal de ce logiciel Organiser un test Il y a 2 faons pour organiser un test: o A partir de lcran principal, on slectionne la catgorie et le quiz quon veut pour faire le test. Cliquer sur Ok pour commencer ce test. o Dans lcran de gestion de quiz, slectionner un quiz.

Figure 23. Organiser un test (1) Faire le test

Figure 24. Organiser un test (2)

Figure 25. Liste des questions dans un quiz Tout dabord notre programme liste toutes les questions dans ce quiz. On peut appuyer sur le menu et slectionner Start pour commencer ce Quiz.
42

Figure 26. Commencer un quiz On peut commencer rapidement de faire ce quiz en cliquant sur une question. Dans ce cas, on va faire ce quiz partir de cette question.

Figure 27. Faire un test

Les tapes de test

Figure 28. Les tapes de test


43

Quad lutilisateur fini un quiz, il peut supprimer ce quiz sil trouve que ce quiz nest pas encore utile. Importer des quiz On peut faire la fonction en 2 faons : Dans lcran principal, on slectionne le menu Import quiz pour importer des quiz. A partir de lcran de gestion de quiz, on slectionne le menu Import Quiz

Figure 29. Importer un quiz

En suite, on va selectionne le serveur de base de quiz

Figure 30. Slection des serveurs Notre programme va se connecter ce serveur et tablir une connexion si cette connexion est russie. Par contre, elle lance un dialogue de lerreur. Dans ce cas, on peut essayer avec autres serveurs.

Figure 31. Connexion entre client et serveur

44

Si la connexion est tablie, on peut choisir des catgories et des quiz pour importer.

Figure 32. Choix de catgorie et de quiz Si limportation est russi, le systme affiche une dialogue de confirmer : continuer ou non

Figure 33. Importation russi Si ce quiz est dj exist dans la base de donnes locale, notre logiciel annonce un dialogue suivant. Dans ce cas, cette action est annule.

Figure 34. Le quiz exist Voici les nouveaux quiz qui sont listes dans la catgorie correspondante.

Figure 35. Liste des quiz Grer des Quiz Cette version de notre programme organise des quiz en trois catgories : English, French et Android.

45

Figure 36. Grer des quiz On a les fonctions principales suivantes : Supprimer tous les quiz dans une catgorie, Supprimer un quiz, Grer ltat de quiz. Pour grer bien les quiz, on a dfini 3 tats : New , Testing , et Done . New : Cest ltat dun quiz qui a t import dans la base de donnes locale mais nest pas commenc. Testing : Cest ltat quun quiz est en traine de tester. Done : Cest ltat que lutilisateur a dj fait ce quiz et a vu le rsultat dtaill.

Figure 37. Etats de quiz Notre logiciel existe une fonction supplmentaire : Rdiger le titre de question. Pour mieux organiser des questions, on peut modifier le titre.

Figure 38. Rdiger le titre


46

5.2. ANALYSE DES RESULTATS


Comme nous avons expliqu, notre programme fonctionne bien. Toute la fonction dans la spcification de ce projet marche bien sous lmulateur de lAndroid. Mais nous ne sommes pas assur quelle puisse tre bien marcher sur un tlphone portable rel. De plus, elle existe quelques limitations : Maintenant, notre logiciel supporte seulement le questionnaire choix multiple. Mais en effet, il existe plusieurs types de question comme : Vrai/Faux question, la question numrique, etc. Elle supporte seulement la norme de question GIFT tandis quil existe les autres normes trs populaires au monde comme IMS QTI, Blackboard, etc. En raison de lmulateur dAndroid, il existe quelques erreurs daffichage des mots Vietnamiens. Notre logiciel ne peut que marcher avec les questions sans multimdia. On ne peut pas faire les examens de comprhension orale avec ce logiciel. Pour tester la performance de notre programme, nous avons test avec les quiz qui ont les diffrences questions. Voici le tableau de comparaison : Quiz Nombre questions Grammar_ Quiz Grammar_ Advance Grammar_ Beginner Selon le tableau, le quiz Grammar_Quiz a le nombre de question trs grande (18961) tandis que la capacit est assez petite. Le temps ncessaire pour importer ce quiz dans la base de donnes locale est assez haut. De plus, le temps ncessaire pour lister toutes les questions dans ce quiz, le temps de commencer ce quiz et le temps de voir le rsultat dtaill ne sont pas acceptable. Dans ce cas, notre logiciel marche lentement. En dtaill, lusage de CPU est que : com.android.androidquizzes: 81% = 50% user + 30% kernel ! 250 15.8 455 830 587 542 18961 Capacit (KB) 5.53 Importer (ms) 18903 Lister toutes les questions (ms) 35948 Commencer ce quiz (ms) 23564 voir le rsultat dtaill (ms) 19345

50

3.21

337

468

315

258

47

Par contre, avec un quiz normal (le nombre de questions est 250 ou 50), notre logiciel marche bien. Le temps dexcution est assez vite. Alors, notre logiciel peut fonctionner dans les cas normaux.

48

CHAPITRE 6. CONCLUSIONS ET PERSPECTIVES


6.1. CONCLUSIONS
Pour mois, ce sujet du TPE est trs intressant. Parce que : Dans mon TPE, jai tudi gnralement les systmes dexploitation pour les mobiles comme: Windows Mobile, Palm OS, BlackBerry, Symbian, Ubuntu MID Edition, Android. Le rsultat de mon travail est le tableau de comparaison entre eux. Jai donn aussi des avantages et des limitations de chaque plateforme. En effet, il existe encore autres plateformes comme : Windows CE, iPhone, Moblin, Access Linux Platform, DoJa, LiMo Platform, etc. Dans cette liste, iPhone et Moblin sont assez clbres et populaires. Jai tudi profondment le systme dexploitation Android et dvelopp lapplication Android Quizzes sur Android. Les fonctions gnrales dAndroid Quizzes : o Organiser un test, o Importer des fichiers de quiz sous norme standard (GIFT), o Excuter, afficher le rsultat et les rapports, o Grer des quiz. Notre logiciel fonctionne bien mais elle est simple. Pour le lancer au march, on doit lamliorer et lajouter autres fonctions supplmentaires. La plateforme Android est une plateforme assez intressante mais pour dvelopper une application utile sur Android, on doit consacrer le temps pour comprendre larchitecture de lAndroid, les composants principaux dune application et les librairies, etc.

6.2. PERSPECTIVES
Suggestions pour ce module : Pour ce qui continuera mon TPE dans lanne prochaine, il reste encore des travaux : Dvelopper les modules qui permettent notre programme de travailler avec autres types de questions et autres normes. Intgrer multimdia dans la question. Le modle de partage des quiz entre les utilisateurs. Corriger lerreur de laffichage les fonts Vietnamiens. Installer et tester ce logiciel sur un tlphone portable rel.

49

REFERENCES
LA PARTIE THEORIQUE
Rfrences scientifiques
[1] F. Troni, R. Cozza, Personal Digital Assistants: Overview, universit de Michigan, aot 2003, www.bus.umicah.edu/KresgePublic/Journals/Gartner/research/90700/90774/90774.pdf [2] C. Haseman, Android Essentials, Gravity Mobile, FirstPress, jul 2008 [3] J. Chen, An Introduction to Android, Developer Advocate Google I/O 2008, http://sites.google.com/site/io/an-introduction-to-android [4] D. Morrill, Inside the Android Application Framework, Google Inc, http://sites.google.com/site/io/inside-the-android-application-framework [5] P. Brady, Anatomy & Physiology of an Android, Google Inc, http://sites.google.com/site/io/anatomy--physiology-of-an-android [6] D. Bornstein, Android - Dalvik VM Internals, Google Inc, http://sites.google.com/site/io/dalvik-vm-internals [7] M. Schmall, J. Hiller, Android for Java Developers, Deutsche Telekom AG http://www.java-forum-stuttgart.dejfs2008folienA7.pdf [8] G. Bong, A Developers perspective on Google Android, Barcamp Malaysia, 2008, http://www.scribd.com/doc/4446529/Google-Android-A-developers-perspective [9] B. Morris, The Symbian OS Architecture Source book, John Wiley & Sons, Ltd, http://www.ebooks-space.com/ebook/441/The-Symbian-OS-Architecture-Sourcebook%3A-DesignandEvolution-of-a-Mobile-Phone-OS.html

Rfrences autres
[10] R. Broida, CNETs quick guide to handheld operating systems, CNET Reviews, http://reviews.cnet.com/4520-11309_7-6624304-1.html?tag=rb_content;rb_mtx [11] SearchMobileComputing.com, Mobile operating systems: Which mobile device platform fits your strategy ?, http://searchmobilecomputing.techtarget.com/generic/0,295582,sid40_gci1196452,00.html [12] Palm InforCenter , Palm OS 6 Cobalt Overview: The Palm OS Future, http://www.palminfocenter.com/news/6568/palm-os-6-cobalt-overview-the-palm-os-future/ [13] Gartner Inc, Gartner Says Worldwide Smartphone Sales Grew 29 Percent in First Quarter of 2008, http://www.gartner.com/it/page.jsp?id=688116 [14] Research In Motion, Guide de l'utilisateur- Blackberry Mail, [15] SymbianPress, Symbian OS v9.5 product sheet, http://www.symbian.com/japan/files/rx/file8929.pdf

50

[16] PC ToDay, Introducing the Symbian Mobile Platform, , http://www.pctoday.com/editorial/article.asp?article=articles%2F2007%2Ft0508%2F11t08%2F11t08.as p [17] Gartner Inc, Gartner Says Worldwide Smartphone Sales Grew 16 Per Cent in Second Quarter of 2008, http://www.gartner.com/it/page.jsp?id=754112 [18] N. Asakawa, Symbian Describes Roadmap to Open-source Platform, Nikkei Electronics, http://techon.nikkeibp.co.jp/english/NEWS_EN/20081121/161591/ [19] Ubuntu MID Edition, http://www.ubuntu.com/products/mobile [20] Operating Systems, BlackBerry, http://na.blackberry.com/eng/devices/enabled/os.jsp [21] Microsoft, Windows Mobile 6- Product Reference Guide

LA PARTIE PRATIQUE
[22] Android-Open source project, http://source.android.com/ [23] Android Developper, http://developer.android.com/index.html [24] Android-An Open Handset Alliance Project, http://code.google.com/android/documentation.html [25] J.F. DiMarzio, Android A Programmers Guide, McGraw-Hill, juillet 2008, http://www.mhprofessional.com/product.php?isbn=0071599886&cat=112 [26] R. Meier, Professional Android Application Development, Wiley Publishing, Inc., http://www.amazon.com/Professional-Android-Application-Development-Programmer/dp/0470344717 [27] SQLite, http://www.sqlite.org/docs.html [28] Java API, http://java.sun.com/j2se/1.4.2/docs/api/index.html [29] La norme GiFT, http://docs.moodle.org/en/GIFT_format

51