Introduction.
Android : Présentation général.
Outils pour le développement d’une application android.
Stockage dans une base de données SQLite.
une application QCM sous android
Conclusion et perspectives.
2
Notre projet a pour but le développement d'une application sous android
avec l'utilisation d'une base de données SQLite.
Ce système d'exploitation open source qui a connu ces derniers temps un
énorme succès et devenu un chantier en cour d'explosion.
Il est utilisé pour la téléphonie concurrent a Windows Mobile ou Symbian, et
basé sur Linux, utilisant le langage Java pour permettre a des développeurs de
créer des applications.
L’application que nous allons développer consiste à gérer les questionnaires à
choix multiples, organisée par l'administrateur qui va ajouter, modifier,
supprimer les questions-réponses ainsi inscrire les candidat dans des Qcm.
Cette application peut être utiliser dans les centres de concours ou examens,
donnant ainsi la possibilité à l’organisateur d’examen et aux candidats d'avoir les
résultats tout en gagnant l'effort et le temps.
3
Pour réaliser le projet, nous allons passer par ces étapes :
Présentation du système android, son historique, ses
fonctionnalités et son architecture.
l’environnement de développement de notre application.
l’utilisation de SQLite comme SGBD.
le cahier des charges, la conception de la base de notre
application ainsi le fonctionnement détaillé de cette dernière.
4
Définition :
Android est un système d'exploitation open source utilisant le
noyau Linux.
Android est utilisé dans les Smartphones, PDA et terminaux
mobiles .
D'autres types d'appareils possédant ce système d'exploitation
existent, par exemple des téléviseurs et des tablettes.
5
Historique :
Juillet 2005 : Google a acquit Android, une petite startup qui
développait des applications pour téléphones mobiles.
Après ce rachat, à Google, une équipe dirigée par Andy Rubin, un
ancien d'Android, a commencé à travailler sur un système
d'exploitation pour appareil mobile basé sur linux.
le 5 novembre 2007 : l’OHA (Open Hanset Alliance) a été
officiellement annoncée, ainsi que son but, développer des
standards open sources pour les appareils mobiles. Le premier
standard annoncé a été Android
6
OHA :
Android est développé par l'OHA (Open Hanset Alliance), une
alliance internationale de compagnies. Cette alliance se compose de
compagnies ne faisant pas partie du même secteur :
d'opérateur mobile (Vodafone, Teleponica, Telecom Italia, China
Mobile…)
de fabricants de téléphone mobiles (Asus, HTC, LG, Motorola,
etc.)
de fabricants de semi conducteur (Intel, Nvidia, ARM, etc.)
d'éditeurs logiciels (Ebay, Google, PacketVideo, etc.)
7
Version d’android:
Les différentes versions d'Android ont toutes des noms de
desserts(en anglais) depuis la sortie de la version 1.5 et suivent une
logique alphabétique :
8
L’installation du système android:
L'installation sur un support Bootable.
L’installation avec la Virtualisation.
10
Le SDK android :
Le SDK est un ensemble d’outils qui permet aux développeurs et aux entreprises
de créer des applications.
Le SDK Android est composé de plusieurs éléments :
des API (interfaces de programmation).
des exemples de code.
de la documentation.
un émulateur permettant de couvrir quasiment toutes les étapes du cycle de
développement d’une application.
11
Le plugin ADT:
En plus des outils livrés avec le kit de développement : Android
Développent Tools Plugin ou ADT, Cet outil s’intègre directement
à Eclipse et propose des interfaces et des assistants pour la création
et le débogage des applications
Android Virtual Device (AVD) :
Android Virtual Device est un émulateur qui permet de
tester les application android.
12
le résultat de la création du projet android et l’arborescence
de ce dernier :
13
Les activités :
Une activité est un écran d’une application. Chaque activité est
implémentée par une classe unique qui étend de la classe de base
Activity (ou une de ses dérivées).
Cette classe affiche une interface utilisateur composée
d’éléments graphiques (Vues) et répond à des évènements.
14
Les services :
Un service est un programme qui tourne en arrière plan (sans
interface graphique).
Exemple d’utilisation est un Player MP3 : l’utilisateur choisi la
piste à lire, puis réduit l’application et effectue d’autres opérations
tout en écoutant la musique.
Dans ce cas l’activité est convertie en service qui tourne en
arrière plan.
Fournisseur de contenu (Content provider) :
Les Fournisseur de contenu sont des gestionnaires de
données. Ils permettent de partager l’information entre les
applications.
Broadcast receivers :
Un broadcast receiver est tout simplement un composant
chargé d'écouter les autres applications, et réagir lorsqu'un
signal est reçu (par exemple batterie faible, une photo a été
prise...)
15
Intent :
Les Intents sont des objets permettant de faire passer des
messages contenant de l’information entre composants principaux.
La notion d’Intent peut être vue comme une demande de
démarrage d’un autre composant, d’une action à effectuer.
Android utilise la classe Intent pour passer d’une activité à
l’autre.
16
SQLite :
SQLite est une bibliothèque écrite en C qui propose un moteur de
base de données relationnelle accessible par le langage SQL.
Contrairement aux serveurs de bases de données traditionnels,
comme MySQL ou PostgreSQL, sa particularité est de ne pas reproduire
le schéma habituel client-serveur mais d'être directement intégrée aux
programmes.
L'intégralité de la base de données (déclarations, tables, index et
données) est stockée dans un fichier indépendant de la plateforme.
17
SQLite :
SQLite est une bibliothèque écrite en C qui propose un moteur de
base de données relationnelle accessible par le langage SQL.
Contrairement aux serveurs de bases de données traditionnels,
comme MySQL ou PostgreSQL, sa particularité est de ne pas reproduire
le schéma habituel client-serveur mais d'être directement intégrée aux
programmes.
L'intégralité de la base de données (déclarations, tables, index et
données) est stockée dans un fichier indépendant de la plateforme.
18
L’architecture de SQLite
L'architecture de SQLite est constituée par quatre couches:
-Interface : la partie qui permet aux programmes de dialoguer avec
la librairie SQLite (ouvrir une base, lancer une requête...).
-Compilateur: interprète le langage SQL. Décompose la requête
SQL en opérations simples (filtrer des lignes, calculer des champs,
faire une jointure…).
-Machine virtuelle: exécute les différentes opérations simples
fournies par le compilateur .
-BTrees (binary trees): sont des arbres binaires qui permettent une
recherche efficace de l’information sans avoir à parcourir toutes les
données. 19
SQLite sous android :
SQLite est très utilisée dans le domaine des appareils mobiles, c’est pourquoi
l’Android fournit un support de bases de données relationnelles à travers SQLite.
Comme le SQLite s’exécute sans nécessiter de serveur, l’exécution des requêtes
sur la base de données s’effectue dans le même processus que l’application.
•On peut créer plusieurs bases de données par application.
• chaque base de données est dédiée à l’application, c’est-à-dire que seule
l’application qui en est à l’origine pourra y accéder.
•Si on souhait exposer les données d’une base de données particulière à d’autres
applications, on pourrait utiliser un fournisseur de contenu.
20
Cahier des charges :
Le centre de préparation aux concours a besoin d’un produit
pour évaluer rapidement et tout au long de l’année les
candidats. Il faut donc un produit simple et efficace.
C’est pour cela notre projet consiste à réaliser une application
proposant la gestion d’un Questionnaire a Choix Multiples
(QCM).
21
Cette application doit comporter deux parties :
la première relatif a l’administrateur qui va s’occuper de
gérer les Qcm (Ajouter des Questions-Réponses, Supprimer,
Modifier) selon différentes matières et aussi de gérer la liste
des candidats (Ajouter, Supprimer, Modifier…) et consulter
leurs résultats.
La deuxième partie propre au candidat qui se verra attribuer
des identifiants de connexion afin d’effectuer les QCM que
l’enseignant aura au préalable enregistrés.
22
35
Nous avons élaboré une application Qcm sous android, simple d’utilité
mais riche en options. Cette application garanti deux grands concepts
pour la gestion des Qcm : le premier concept c’est que l’organisateur est le
responsable de l’ajout, la modification et la suppression des questions-
réponses ainsi l’inscription des candidats dans les Qcm. Le deuxième
concept permet aux candidats de passer leur Qcm et savoir la note
immédiatement tout en gagnant l’effort et le temps.
Les différentes étapes préalablement tracées dans le parcours de la
réalisation de notre projet :
Connaitre l’android comme un nouveau système d’exploitation.
Savoir les outils nécessaires pour la réalisation d’une application android
L’utilisation de SQLite pour la manipulation des données.
36
Ce projet nous a permis de travailler sous un nouveau
système d'exploitation "android". Il nous a aussi permis
d'apprendre à développer des applications sous ce
dernier, ce qu'on trouve très utile et aussi très
puissant.
Si notre projet semble avoir répondu aux objectifs
préalablement fixés, il est tout de même possible de le
perfectionner en pensant a la séparation de la partie
administrateur et la partie candidat en utilisant une
connexion Bluetooth.
Mais est ce qu'il est tout de même courageux de penser
a cette solution vue sa complexité et la rareté de son
utilisation ?