Académique Documents
Professionnel Documents
Culture Documents
1 Installer le SDK
Android sur le
poste de
dveloppement
Pour dvelopper pour Android, il faut dans
un premier temps installer le SDK Android
3 Une base de
donnes
spcifique: SQLite
2
// de lapplication
spcificits lies au dveloppement HChangeConnexion(*,
dapplications Android. ConnexionAndroid)
Un gabarit
Ces conseils de dveloppement unique: Remarque:
sappliquent aussi bien la cration En mode simulation (Go via le simulateur
de nouveaux projets Android qu ActivAndroid WINDEV Mobile), les donnes utilises sont
ladaptation dun projet existant au format HyperFileSQL. La connexion au
en Android. Une des particularits des projets Android fichier doit donc tre diffrente selon la
rside dans le fait quil existe un seul plateforme dexcution.
et unique gabarit disponible: le gabarit La fonction WLangage EnModeAndroid
ActivAndroid. permet de savoir si lexcution seffectue
sur un priphrique Android (mulateur ou
En effet, le look Android ne peut pas tre
terminal) ou non.
chang puisquil est appliqu par le sys-
tme. SQLite possde certaines spcificits:
il est fortement conseill davoir un iden-
Notre conseil tifiant automatique pour chaque fichier
Lorsque vous crez un champ, vitez de utilis sous SQLite.
rduire la taille par dfaut dfini par le SQLite ne prend pas en charge le systme
gabarit, notamment la hauteur des champs. de mot de passe sur un fichier. Les fonctions
En effet, les tailles par dfaut sont calcu- HPasse et HCration avec mot de passe ne
les pour que les libells soient lisibles en sont donc pas disponibles.
excution.
5
mais des zones le comportement dun champ lors du
rptes redimensionnement de la fentre ou, dans
Android, Windows notre cas, du changement du mode daffi-
7
ment particulier par rapport une application Lditeur restreint en effet certaines fonc-
sous Windows mobile. tionnalits non disponibles pour la plateforme
Dans le cas dune zone rpte qui prsente courante. Optimisez la
une liste de clients et qui permet dajouter, Par exemple, dans un projet mobile en gn-
modifier et supprimer des clients, le compor- ration Android, la barre doutils de cration
place disponible
tement dune application Windows Mobile et de champs ne propose que les champs dis- dans vos fentres
dune application Android est diffrente. ponibles pour Android: le bouton champs
table est gris. Ainsi, aucun risque duti- Comme pour tout appareil mobile, la capacit
En Windows Mobile liser une fonctionnalit non disponible en daffichage est rduite:
La fentre de type liste propose gnrale- excution! la taille des fentres est restreinte par
ment une zone rpte ainsi que 3 boutons Dans le cas dun projet multiplateforme, lcran du terminal,
(ou options de menu): lditeur informe des fonctionnalits qui les diffrents champs doivent tre suffisam-
Ajouter: ce bouton ouvre la fiche en ne sont pas disponibles pour au moins une ment importants pour pouvoir cliquer dessus
mode cration. des plateformes. Il est donc plus simple facilement, via un stylet ou le doigt.
Modifier: ce bouton ouvre la fiche du de sadapter au mieux chaque configu- Pour optimiser loccupation des fentres,
client slectionn dans la zone rpte. ration. plusieurs astuces sont disponibles.
Supprimer: ce bouton supprime lenre-
Plus de dtails sur lenvironnement coopratif Le style Libell interne du gabarit
gistrement client slectionn dans la zone
sont disponibles dans larticle ddi JAVA ActivAndroid permet davoir le libell au-
rpte.
de ce support de cours. dessus du champ de saisie. Cela permet de
La fentre fiche propose 2 boutons: gagner une place non ngligeable en largeur.
Valider: ce bouton valide lajout ou la Notre conseil La place en hauteur est moins problmati-
modification (selon le mode douverture). Utilisez des fonctionnalits disponibles pour que dans la mesure o le dfilement tactile
Annuler: ce bouton fermer simplement toutes les plateformes de dveloppement permet de parcourir rapidement toute la
la fentre (annulation des modifications associes votre projet. hauteur dune fentre.
ventuellement saisies). Cela vite un doublement des fentres, codes Pour gagner de la place en hauteur et en
et la maintenance en est simplifie.
6
largeur, il suffit de remplacer le libell du
En Android
champ de saisie par un texte dindication.
La solution la plus simple et intuitive pour
Le texte dindication est un libell affich
une application Android est la suivante. Portrait ou directement dans le champ de saisie lors-
La fentre de listing propose uniquement le Paysage? Vos que celui-ci est vide. Il permet en gnral
bouton (ou loption de menu) Ajouter. fentres dajouter une prcision sur linformation
attendue dans le champ.
La slection dune ligne de la zone rp- sadaptent!
te ouvre directement la fentre fiche en
mode Modification: la slection est donc La plupart des matriels Android permettent Notre conseil
lquivalent du bouton Modifier. de permuter le mode daffichage: portrait Si la fentre comporte peu de champs de
ou paysage. saisie ou des champs de saisie qui nont
La fentre fiche dispose dun 3me bouton
Mais sous lditeur, les fentres sont dfinies pas de lien entre eux (par exemple, diff-
Supprimer, qui permet de supprimer la
et les champs positionns pour un affichage rents paramtres pour lapplication), il est
fiche en cours de consultation.
en mode Portrait. conseill dutiliser le style Libell interne
Une autre solution consiste positionner le combin au texte dindication.
bouton Supprimer directement sur chaque Comment faire pour configurer laffichage Si la fentre comporte un nombre important
ligne de la zone rpte au lieu de le posi- en mode Paysage? de champs qui ont un contexte commun (par
tionner dans la fentre fiche. Rien de plus simple avec WINDEV Mobile: exemple, les champs dune fentre fiche
Linconvnient de cette mthode est la place il suffit de dfinir pour chaque champ un client), le texte dindication seul suffit.
occupe par le bouton, qui rduit dautant ancrage adquat.
9
est en effet affich la demande (clic sur le lappel OuvreFille. Attention, le nom de la
bouton Menu du priphrique) et noccupe procdure doit tre mis entre guillemets.
donc pas de place dans la fentre.
Ssame, // Ouverture de la fiche Client
OuvreFille(FEN_Fiche_Client,
Notre conseil OuvreFille toi! FermetureFiche)
Il est ncessaire de trouver un quilibre entre
lutilisation des boutons et des options de Ct fentre fille
menu. En effet, pour excuter une option de Spcifier que la fentre attend un para-
Sous Android, la fonction WLangage Ouvre na
menu, il est ncessaire deffectuer au moins mtre. Ce paramtre correspond donc au
pas dexistence. Seule la fonction OuvreFille
2 clics: un clic pour ouvrir le menu (bouton nom de la procdure callback dfinie dans
peut tre utilise. Cette fonction a un fonc-
Menu du priphrique) et un (ou plusieurs) la fentre mre.
tionnement particulier.
clic pour choisir loption de menu, selon le PROCEDURE FEN_Fiche_Client(
nombre doptions proposes par le menu. Un En effet, la fonction OuvreFille permet gsCallBackFermeture)
bouton ne demande quun seul clic. douvrir une fentre, mais continue excu- Appeler la procdure callback dans le
Nous conseillons donc dutiliser: ter le code de la fentre mre: louverture code de fermeture de la fentre. Il suffit
des boutons pour les actions qui seront de la fentre nest pas bloquant. de passer la valeur de retour de la fentre
utiliss trs souvent, Pour tre prvenu lors de la fermeture de la en paramtre la procdure.
des options de menu pour les actions uti- fentre fille et effectuer une action spcifi- // Excute la procdure callback en
lises plus rarement. Si le menu comporte que dans la fentre appelante, il est nces- // passant en paramtre la valeur
de nombreuses options, placer les options // de retour de la fentre
saire dutiliser une procdure callback. ExcuteTraitement(
les plus utiles en dbut de menu permet dy
Lors de la fermeture de la fentre fille, gsCallBackFermeture, trtProcdure,
accder plus rapidement. MaFentre..ValeurRenvoye)
8
une procdure de la fentre mre va tre
excute pour prvenir que la fentre fille Indiquer une valeur de retour par dfaut
Do you speak est ferme. dans le code dinitialisation de la fentre.
La valeur de retour dune fentre peut tre
Java? Par exemple, il est ncessaire de savoir
indique via la proprit ValeurRenvoye
quand une fentre de type Fiche client est
de la fentre.
ferme pour pourvoir ractualiser si besoin
// Valeur de retour par dfaut
la zone rpte de tous les clients.
MaFentre..ValeurRenvoye = Faux
Avec WINDEV Mobile, le dveloppement
Diffrents traitements doivent donc tre
Android se fait simplement en WLangage. Indiquer la valeur de retour dans les bou-
mis en place, sur la fentre mre et sur la
Certaines fonctions WLangage ne sont cepen- tons, options et traitements ncessaires.
fentre fille.
dant pas disponibles pour un dveloppe- Par exemple, lors dun clic sur le bouton
ment Androidparce que ces fonctions nont Valider de la fentre FEN_Fiche_Client,
Ct fentre mre la fentre doit renvoyer Vrai.
pas de sens pour un priphrique Android
Dclarer une procdure callback dans la
(ListeSelectPlus par exemple), // La fiche est valide
fentre mre. Cette procdure attend en MaFentre..ValeurRenvoye = Vrai
Lors de lutilisation de ces fonctions dans gnral un paramtre qui correspond la
lditeur de code, une erreur apparat: La valeur renvoye par la fentre fille: dans Notre astuce
fonction <NomFonction> na pas dquivalent le cas dune fentre de type fiche, il sagit Utiliser lvnement Fermeture de la fen-
dans le framework WL/Android. dun boolen (Vrai si la fentre est valide, tre et la valeur de retour de la fentre
Pour utiliser des fonctions spcifiques du Faux dans le cas contraire). Mais il est tout prsente un avantage certain: quelle que soit
SDK Android qui ne seraient pas disponibles fait possible de renvoyer une valeur dun la faon dont lutilisateur ferme la fentre
en WLangage, il est tout fait possible de autre type (une chane par exemple). (mme via le bouton Back du tlphone), la
dvelopper ... en Java! PROCEDURE FermetureFiche(bValide) procdure sera excute.
B Dployez
simplement vos
applications
Android
Lors de la gnration de lexcutable Android,
diffrentes informations doivent tre fournies
dans lassistant.
Package
Le nom du package permet didentifier lap-
plication. En effet, sur Android, toutes les
applications sont installes dans un seul et
mme rpertoire.
Pour diffrencier deux applications de mme
nom, Android utilise donc le nom du package.
Il est conseill dindiquer le nom de la socit
dans le nom du package.
Attention: le nom du package doit obli-