« Phonegap sample project » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
Le projet se trouve sous H:/callback-phonegap-9f0856d/Android/Sample. Il faut le copier sous H:/work. | Ce projet est une bonne démonstration des fonctionnalités auxquelles phonegap permet d'accéder. Le projet se trouve sous H:/callback-phonegap-9f0856d/Android/Sample. Il faut le copier sous H:/work. | ||
== exécuter l'application == | == exécuter l'application == | ||
Ligne 25 : | Ligne 25 : | ||
# dans eclipse, click droit sur Sample, Run As>1 Android Application | # dans eclipse, click droit sur Sample, Run As>1 Android Application | ||
# l'application démarre sur le téléphone | # l'application démarre sur le téléphone | ||
== examiner l'exemple == | |||
Les fichiers de l'application sont sous Sample/assets/www/ | |||
index.html | |||
* inclut les autres fichiers: phonegap.js, main.js, master.css | |||
* appelle des fonctions javascript dans body onload et a onclick | |||
main.css | |||
* définit les styles des éléments | |||
main.js | |||
* contient les fonctions javascript appelées dans index.html | |||
=== main.js == | |||
Le code javascript utilise des objets javascript créés par phonegap.js comme ''device'', navigator.''accelerometer''. Ces objets ne sont disponible qu'après l'initialisation de phonegap, qui est signalée par l'événement ''deviceready'' | |||
La fonction '''init''', appelée au chargement d'index.html fait en sorte que la fonction ''deviceInfo'' n'est appelée que quand phonegap est prêt. La fonction deviceInfo lit des propriétés de l'objet device, comme device.platform etc... | |||
<pre> | |||
function init() { | |||
document.addEventListener("deviceready", deviceInfo, true); | |||
} | |||
</pre> | |||
Les autres fonctions, comme '''beep''', sont appelées lorsqu'on clique sur un bouton. | |||
<pre> | |||
<a href="#" class="btn large" onclick="beep();">Beep</a> | |||
</pre> | |||
toggleAccel | |||
navigator.accelerometer.watchAcceleration | |||
navigator.accelerometer.clearWatch | |||
getLocation (c'est du html5, marche aussi avec browser) | |||
call: pas de javascript <a href="tel:411" class="btn large">Call 411</a> | |||
beep, vibrate | |||
navigator.notification.beep, vibrate | |||
show_pic | |||
navigator.camera.getPicture | |||
get_contacts | |||
navigator.contacts.find | |||
check_network | |||
navigator.network.connection.type |
Version du 1 décembre 2011 à 18:06
Ce projet est une bonne démonstration des fonctionnalités auxquelles phonegap permet d'accéder. Le projet se trouve sous H:/callback-phonegap-9f0856d/Android/Sample. Il faut le copier sous H:/work.
exécuter l'application
exécuter dans l'émulateur ripple
Ouvrir chrome à cette adresse: file:///H:/work/Sample/assets/www/index.html. Un click droit ouvre un menu avec Emulator, choisir enable.
importer le projet dans eclipse
- File>New>Other
- Android>Android project
- name: Sample, (x) Create project from existing source, Location: H:/work/Sample
- next version Android 4.0, next minimum SDK 10(10 Android 4.0), finish
- il y a des erreurs de compilation
- dans l'arborescence Sample>libs>phonegap-1.1.0.jar, click droit Build Path>Add to Build Path
- L'erreur de compilation disparait
exécuter sur un téléphone android
- installer le driver usb pour adb de l'appareil
- le brancher le téléphone sur usb
- (si on a rooté son appareil, on peut travailler sans usb avec l'app adbWireless)
- autoriser le débogage sur le téléphone: Réglages>Applications>Développement>Débogage USB
- dans eclipse, click droit sur Sample, Run As>1 Android Application
- l'application démarre sur le téléphone
examiner l'exemple
Les fichiers de l'application sont sous Sample/assets/www/ index.html
- inclut les autres fichiers: phonegap.js, main.js, master.css
- appelle des fonctions javascript dans body onload et a onclick
main.css
- définit les styles des éléments
main.js
- contient les fonctions javascript appelées dans index.html
= main.js
Le code javascript utilise des objets javascript créés par phonegap.js comme device, navigator.accelerometer. Ces objets ne sont disponible qu'après l'initialisation de phonegap, qui est signalée par l'événement deviceready
La fonction init, appelée au chargement d'index.html fait en sorte que la fonction deviceInfo n'est appelée que quand phonegap est prêt. La fonction deviceInfo lit des propriétés de l'objet device, comme device.platform etc...
function init() { document.addEventListener("deviceready", deviceInfo, true); }
Les autres fonctions, comme beep, sont appelées lorsqu'on clique sur un bouton.
<a href="#" class="btn large" onclick="beep();">Beep</a>
toggleAccel navigator.accelerometer.watchAcceleration navigator.accelerometer.clearWatch getLocation (c'est du html5, marche aussi avec browser) call: pas de javascript <a href="tel:411" class="btn large">Call 411</a> beep, vibrate navigator.notification.beep, vibrate show_pic navigator.camera.getPicture get_contacts navigator.contacts.find check_network navigator.network.connection.type