Vous êtes sur la page 1sur 4

Dveloppement Android - Principes

Dvelopper une application pour terminal


Android grce WINDEVMobile

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

Les bases de donnes des applications Android


sont par dfaut au format SQLite. WINDEV
sur le poste de dveloppement. Mobile inclut en standard un accs natif
SQLite pour Android.
Ce SDK est disponible sur Internet et il est
diffus gratuitement. Pour passer une application existante (qui
Le SDK Android peut tre tlcharg cette utilise donc une base HyperFileSQL) en
adresse: http://developer.android.com/ Android, il nest pas ncessaire de modifier
intl/fr/sdk/index.html. la description des fichiers existants ou de
crer de nouveaux fichiers. Il suffit de:
Laide de WINDEV Mobile comporte une page dcrire une connexion SQLite laide de
qui explique o trouver les diffrents l- la fonction HDcritConnexion.
ments et comment les installer: il suffit de
// Dcrit la connexion utilise
cliquer sur le lien O trouver le SDK? qui se HDcritConnexion(
trouve dans lassistant de cration de projet ConnexionAndroid,
Depuis la version 15, WINDEV Mobile Android et dans lassistant de gnration , ,
permet de dvelopper des applica- dapplication Android AndroidGestionDeCommandes,
tions pour le systme dexploitation , hAccsSQLiteAndroid,
de Google: Android. hOLectureEcriture)
Notre conseil
Android ne fonctionne pas tout fait Ne perdez pas de temps configurer lmula- dappliquer cette connexion aux
comme Windows Mobile: certains teur via loutil fourni. WINDEV Mobile permet fichiers de lanalyse, via la fonction
fonctionnements sont diffrents. de crer simplement le ou les mulateurs HChangeConnexion.
Cet article prsente les diffrentes Android que vous souhaitez. // Change la connexion des fichiers

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.

54-TDF TECH 2010 - www.pcsoft.fr


Mobilit - Android
4
le nombre de lignes visibles dans la zone Rappel:
Point de table, rpte. Les ancrages permettent de dfinir

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-

Pour afficher une liste complexe dlments


Mobile: soyez chage: le champ doit-il rester au centre?
droite? en bas? Le champ doit-il stirer en
sous Android, seul le champ zone rpte est coopratifs!
largeur? en hauteur? etc.
disponible. En effet, le champ table nest
pas disponible sur cette plateforme. Lenvironnement coopratif est une nou- Notre astuce
De plus, la notion de slection sur une veaut des versions 15. Pour tester ces ancrages, inutile de copier
ligne de zone rpte na pas de sens sous Cette fonctionnalit est trs utile lorsquun lexcutable sur un terminal mobile et de
Android: aucun bandeau de slection nest projet est destin une plateforme spci- tester lexcutable dessus. Les simulateurs
affich, la slection nest pas visuelle. fique (Android, Java, PHP) ou est multipla- WINDEV Mobile disposent, en version 15,
Cette particularit ncessite un dveloppe- teforme. dun bouton qui permet de permuter les 2
modes daffichage.

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.

TDF TECH 2010 - www.pcsoft.fr-55


Dveloppement Android - Principes (SUITE)

Dvelopper une application pour terminal


Android grce WINDEVMobile (SUITE)

Le titre de la fentre permet aussi dafficher Rappel:


// Si la fentre fiche est valide
des informations importantes. Par exemple, Pour dvelopper en Java, il suffit, dans le SI bValide ALORS
il est possible dafficher le mode douverture code dune procdure globale, de cliquer sur // Mise jour de la zone rpte
dune fiche (Cration, Modification). le sigle WL du bandeau: le sigle changera ZoneRpteAffiche(ZR_Client,
taCourantBandeau)
en JAVA et le bandeau deviendra violet, FIN
Les options de menu permettent de rempla-
indiquant que le code attendu pour cette
cer avantageusement les boutons. Le menu Ajouter cette procdure en paramtre de
procdure est du code Java.

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.

56-TDF TECH 2010 - www.pcsoft.fr


Mobilit - Android
A
gatoirement tre compos de deux textes du bluetooth, etc.
Simulateur, minimum spars par un point (.). Par Toutes les permissions ncessaires lex-
Emulateur: faites exemple, masocit.MonApplication. cution du code WLangage sont automatique-
le bon choix ment ajoutes.
Signature de lapplication
Les applications Android doivent tre signes
WINDEV Mobile propose diffrentes mthodes Plateformes Android
pour tre dployes sur les terminaux mobi-
(modes Go) pour tester une application Il est possible de slectionner la plateforme
les.
Android: minimale que devra possder le priphri-
Le test de lapplication dans le simulateur En effet une application non signe ne sins- que pour pouvoir excuter lapplication:
de WINDEV Mobile, qui permet de tester tallera pas sur le terminal mobile! une version basse permettra lapplication
rapidement lapplication. dtre utilise par plus de terminaux mobiles
La signature de lapplication sert authen-
Le test de lapplication dans lmulateur Android.
tifier le fournisseur de lapplication.
fourni avec le SDK Android. Lmulateur Une fois lapplication gnre, il est possible
Il existe deux types de signature:
fonctionne comme un terminal Android: il de la distribuer. Une solution pour distribuer
la signature gnrique: cette signature
est donc ncessaire de crer lapplication simplement une application Android est la
est fournie par le SDK dAndroid et permet
pour la dployer ensuite sur le priphrique. plateforme Android Market.
de pouvoir tester lapplication sur le ter-
Ce type de Go nest donc pas instantan, Retrouvez plus de dtails sur le dploiement
minal mobile. Une application qui utilise
puisque lexcutable gnr doit tre copi dune application Android dans ce support
une signature gnrique ne pourra pas tre
sur le priphrique. De plus, le lancement de de cours.
dploye sur dautres terminaux!
lmulateur peut prendre un certain (surtout
la signature normale: cette signature est
le premier lancement): conserver lmula-
gnre partir dun fichier de cl spci-
teur actif lors des phases de tests vite une
fique lapplication. Par dfaut, WINDEV
Exemples
attente inutile.
Mobile gnre un fichier de cl spcifique WINDEV Mobile 15 est livr en standard
Le test de lapplication directement sur
lapplication. avec diffrents exemples dvelopps pour
le terminal Android, qui permet davoir un
Android: Android Gestion de Commandes,
rendu rel de lapplication.
Permissions supplmentaires Android Inscrits, Android Explorer et Android
Lassistant de cration dexcutables permet MotDePasse.
Notre conseil
dinclure des permissions supplmentaires. Le DVD de ce support de cours contient ga-
Pour tester vos applications Android, privi-
Ces permissions dpendent de lapplication et lement un exemple dvelopp pour lAcer
lgiez au maximum le simulateur WINDEV
de ces fonctionnalits: gestion des caches, one: Android Gestion Devis.
Mobile: il est beaucoup plus rapide, vous
donne un aperu rel du rendu de lap-
plication et, point non ngligeable, vous
bnficiez du dbogueur
Toutefois, nhsitez pas utiliser lmulateur
Android rgulirement pour tre sr que
votre application sexcute correctement
dans un environnement Android.

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-

TDF TECH 2010 - www.pcsoft.fr-57

Vous aimerez peut-être aussi