APPLICATIONS JAVA. Interface graphique avec XML pour une activité Android. Android Partie VI

Dimension: px
Commencer à balayer dès la page:

Download "APPLICATIONS JAVA. Interface graphique avec XML pour une activité Android. Android Partie VI"

Transcription

1 APPLICATIONS JAVA Android Partie VI Ivan MADJAROV Interface graphique avec XML IvMad, Interface graphique avec XML pour une activité Android L'objectif principal de ce cours est de découvrir la programmation sous Android, sa plate-forme de développement et les spécificités du développement embarqué sur téléphone mobile. Le cours s inspire, reprend, modifie et enrichi des supports disponibles sur Internet.

2 Interface graphique avec XML IvMad, Android : Les menus (1) La version 3.0 d Android introduit le composant barre d action (ActionBar) avec 4 parties pour remplacer les menus disponibles dans les anciennes version d Android. L icone de l application : Visualise l'identité de l'application. Dropdown Menu : Permet la navigation dans l'application. Actions principales : Définie les actions principales de l'application. Autres actions : Permet d accéder aux fonctionnalités optionnelles. L implémentation d une ActionBar s effectue dans le dossier res/menu du projet Eclipse. Icone de l'application DropDown Menu Interface graphique avec XML IvMad, Android : Les menus (2) Les menus d options : Le menu apparait quand on clique sur le bouton "Menu" du téléphone ou de la tablette. La méthode utilisée pour la création des options du menu: public boolean oncreateoptionsmenu(menu menu) On rajoute des événements lorsque l on clique sur un des items du menu, grâce à la méthode onmenuitemselected(int featureid, MenuItem item) Les menus d options à préférences étendues permettent d afficher un menu lors de l appui sur une touche d option d un menu. Les menus contextuels sont accessibles en cliquant sur un objet avec un appui long ou court, une fenêtre de choix s affiche alors. Pour ouvrir un menu contextuel on ses sert de la méthode: oncreatecontextmenu(contextmenu menu, View v, ContextMenuInfo menuinfo)

3 Interface graphique avec XML IvMad, Android : Les menus (3) Pour créer un menu simple on procède par un nouveau projet Android et on modifie le code Java de l'activité principale : Interface graphique avec XML IvMad, Android : Les menus (4) La manière la plus adaptée pour un développement efficace de menus est de passer par les fichiers XML. Le menu est décrit dans le fichier res/menu/menu.xml <menu xmlns:android=" <item android:title="options" android:id="@+id/itemoptions"></item> <item android:title="quitter" android:id="@+id/itemquitter"></item> </menu> Puis dans le code de la méthode oncreateoptionsmenu, on récupère le menu sous forme XML et l afficher. public boolean oncreateoptionsmenu(menu menu) { // Création du menu inflater MenuInflater inflater = getmenuinflater(); // On envoi a la variable menu le fichier xml parsé par l'inflater inflater.inflate(r.menu.menu_option_xml, menu); return true;

4 Interface graphique avec XML IvMad, Android : Les menus (5) Etape suivante : On attrape l'événement lors du clique sur un des items du menu, grâce à la méthode : onmenuitemselected(int featureid, MenuItem item) Deux paramètres sont passés: id du panel menu et l'item qui est cliqué public boolean onmenuitemselected(int featureid, MenuItem item) { // On récupère l'id de l'item et on le compare switch (item.getitemid()) { // choix égal à itemoptions case R.id.itemOptions: // On affiche un message Toast.makeText(this, "Message", Toast.LENGTH_SHORT).show(); return true; // choix égal à itemquitter case R.id.itemQuitter: // On ferme l'activité finish(); return true; return super.onmenuitemselected(featureid, item); Interface graphique avec XML IvMad, Android et XML : Intent (1) Intent :Lesandboxing (bac à sable) est une pratique de sécurité dans la téléphonie mobile qui consiste à séparer les applications entre elles. Android exécute une application en limitant les actions autorisées (accès mémoire, accès sur les capteurs, etc ). Pour contourner cette difficulté de communication entre applications on utilise les Intent (Intentions). Un Intent permet d envoyer et recevoir des messages (avec ou sans les données) pour déclencher une action, dans un composant d une même application (Activity) voir même dans une autre application. Android support deux types d'intent : explicit et implicit. Si l'activité définie le composant cible directement dans l'intent (implicite); Si l'activité lance une classe externe alors c'est un explicite Intent.

5 Interface graphique avec XML IvMad, Android et XML : Intent (2) La figure illustre la manière dont un Intent implicite est délivré à travers le système pour démarrer une autre activité. L'activité A crée un Intent par startactivity(). Le système Android cherche les applications dont l'intent filter correspond. Si une correspondance est trouvée le système démarre l'activité B en appelant la méthode oncreate(). Interface graphique avec XML IvMad, Android et XML : Broadcasting Dans un contexte informatique, le broadcasting désigne une méthode de transmission de données à l'ensemble des machines d'un réseau. Pour recevoir des Intent, Android crée une classe qui implémente BroadcastReceiver avec une seule méthode onreceive(). Le système Android envoie l'intention (Intent) à tous les BroadCast Receiver abonnés par ordre de priorité (AndroidManifest.xml). Un BroadCast Receiver est un composant Android qui écoute et enregistre tout changement dans le mobile: la reception de messages SMS, appels téléphoniques, statut de la batterie, accès au réseau Wi-Fi, Bluetooth, etc.

6 Interface graphique avec XML IvMad, Android et XML : Intent (3) L'exemple suivant va illustré le passage d'un message à partir d'une activité vers une autre activité. On crée un projet IntentProject. L'interface graphique de l'activité compte un TextView,unEditText et un Button. Dans le champ de texte on saisie le message qui sera traité par l'intent. Le traitement est initié par le "click" du bouton qui déclenche la méthode onclick(view v). Pour la mise en place de la méthode la classe OnClickListener est instancié comme écouteur du bouton. Le texte saisie est récupéré par la méthode gettext() de la classe EditText. Un Intent est instancié pour emmètre le message avec la méthode putextra(strname, keyidentifer) Le processus est initié avec l'appel: startactivity(intent); Interface graphique avec XML IvMad, Android et XML : Intent (4) Interface graphique dans res/layout pour l'activité principale Activité principale qui émet le message "Intent"

7 Interface graphique avec XML IvMad, Android et XML : Intent (5) L'activité secondaire, initiée par l'activité principale est une classe à part créée dans le même projet. L'activité possède sa propre interface graphique décrite dans le répertoire res/layout. Le message de type Intent est récupéré par la méthode getstringextra(strmsg) et affiché dans un objet de type TextView àl'écran da l'activité. Le fichier AndroidManifest.xml doit contenir la description de l'activité secondaire avec le nom de la classe et le titre de l'activité: <activity android:name=".displayactivity" android:label="@string/title_activity_display" /> Interface graphique avec XML IvMad, Android et XML : Intent (6) L'activité est activé par un "Intent" et reçoit le message envoyé GUI XML de l'activité secondaire Strings.xml contient les String des deux activités

8 Interface graphique avec XML IvMad, Android et XML : Intent (7) Android Manifest.xml est commun aux deux activités et décrit les ressources à mettre en œuvre L'activité sensée recevoir l'intent de l'activité principale est décrite ici Interface graphique avec XML IvMad, Android et XML : Intent (8)

9 Interface graphique avec XML IvMad, Android : Explicite Intent ( ) Comment envoyer un à partir d'une activité Android? La technique de l'explicite Intent peut faire appel à un client sous Android en faisant passer toutes les données nécessaires pour l'envoi du message: Intent intent = new Intent(Intent.ACTION_SEND); En utilisant les Intent et l intention ACTION_SEND, il est possible de démarrer une intention d envoi de données (mail, sms, ). Pour envoyer le mail il faut spécifier le URI pour le "mailto:", c.à.d. l'adresse du destinataire, ainsi que les attributs d'un TO, SUBJECT, CC, TEXT. L'activité lancera la recherche et le choix d'un client , de préférence GMail: startactivity(intent.createchooser( intent, "Envoie du e mail...")); Interface graphique avec XML IvMad, Android : Explicite Intent ( ) Activité principale activity_intent_send_mail_main.xml strings.xml

10 Interface graphique avec XML IvMad, Android : Explicite Intent ( ) Interface graphique avec XML IvMad, Android : Envoi de SMS (1) Il y a deux façons d'envoyer un SMS avec une activité Android: A l'aide du SmsManager installé sous Android en s'adressant directement à sa méthode statique: SmsManager smsmanager = SmsManager.getDefault(); La référence vers le SMS manager donne accès à la méthode d'envoi des données nécessaires à compéter un message de ce type: smsmanager.sendtextmessage("phoneno", null, "SMS text", null, null); Par la technique des Intent. Il faut instancier un objet Intent avec l'action ACTION_VIEW: Intent smsintent = new Intent(Intent.ACTION_VIEW); Pour l'envoi il faut spécifier smsto avec l'uri et la méthode setdata(): smsintent.setdata(uri.parse("smsto:")); smsintent.settype("vnd.android dir/mms sms"); La suite fait appel au client SMS Android.

11 Interface graphique avec XML IvMad, Android : Envoi de SMS (2) Activité principale res/layout/activity_send_sms.xml Interface graphique avec XML IvMad, Android : Envoi de SMS (3) strings.xml AndroidManifest.xml

12 Interface graphique avec XML IvMad, Android : Envoi de SMS (4) Interface graphique avec XML IvMad, Android : Appel téléphonique (1) Une activité Android peut emmètre un appel téléphonique par l'intermédiaire des Intent. On utilise l'action ACTION_CALL pour basculer vers la fonctionnalité téléphone de l'unité Android. Intent phoneintent = new Intent(Intent.ACTION_CALL); Pour effectuer un appel téléphonique pour un numéro donné on doit spécifier tel: comme URI avec la méthode setdata(). phoneintent.setdata(uri.parse("tel: "));

13 Interface graphique avec XML IvMad, Android : Appel téléphonique (2) Activité principale activity_phone_call.xml Permissions à ajouter dans AndrdoidManifest.xml strings.xml Interface graphique avec XML IvMad, Android : Appel téléphonique (3)

14 Interface graphique avec XML IvMad, Application Android et XML (11) Le fichier colors.xml contient les couleurs utilisées dans l application <?xml version="1.0" encoding="utf 8"?> <resources> <color name="black_color">#000</color> </resources> Le fichier dimens.xml défini les dimensions utilisées. Les tailles déclarées sont en dp (density independant pixel) pour la taille des composants et en sp (scale independant pixel) pour la taille des polices. Les tailles en dp / sp garantissent les mêmes proportions dans les interfaces quelques soit la densité de l écran cible <resources> <dimen name="padding_small">8dp</dimen> <dimen name="padding_medium">8dp</dimen> <dimen name="padding_large">16dp</dimen> <dimen name="normal_text_size">15sp</dimen> <dimen name="normal_padding">20dp</dimen> <dimen name="large_padding">100dp</dimen> <dimen name="small_padding">10dp</dimen> </resources> Interface graphique avec XML IvMad, Application Android et XML (7) Le fichier strings.xml est utilisé pour déclarer les chaines de caractères qui apparaitront dans l'interface graphique de l'activité. <?xml version="1.0" encoding="utf 8"?> <resources> <string name="app_name"> FirstAndroidView</string> <string name="hello_world"> Bonjour tout le monde!</string> <string name="menu_settings">settings</string> <string name="title_activity_main"> MainActivity</string> <string name="image_content_description"> Logo Android</string> <string name="create_account"> Créer un compte</string> <string name=" ">adresse </string> <string name="password">mot de passe</string> <string name="connect">se connecter</string> </resources>

15 Interface graphique avec XML IvMad, Application Android et XML (8) Gérer l'événement du bouton et afficher le résultat dans une autre View par la création d'une deuxième activité. La vue est décrite dans le fichier XML: res/layout/login_display.xml <LinearLayout xmlns:android= /res/android android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" p" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textstyle="bold" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textstyle="bold" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" /> </LinearLayout> Interface graphique avec XML IvMad, Application Android et XML (9) Le nouvelle View est liée à une nouvelle activité dont il faut créer le code Java dans le fichier : src/nom.package/logindisplayactivity.java public class LoginDisplayActivity extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.login_display); Les activités et les ressources d'une application Android sont décrites dans le fichier XML : AndroidManifest.xml La ligne à ajouter pour la nouvelle View à côté du nom de l'activité principale : <activity android:name=".logindisplayactivity" /> Actualiser le fichier strings.xml avec les chaines pour la nouvelle View: <string name="title_activity_login_display">logindisplayactivity</string> <string name="hint_mail">"ici : L'adresse de l'utilisateur"</string> <string name="hint_pass">"ici : Le mot de passe de l'utilisateur"</string>

16 Interface graphique avec XML IvMad, Application Android et XML (10) Le fichier XML dimens.xml doit être mis à jour en ajoutant les lignes suivantes: <dimen name="layout_padding_top">80dp</dimen> <dimen name="big_text_size">20sp</dimen> Pour mettre en place le passage d une activité à une autre il faut ajouter du code dans la MainActivity.java. On déclare un OnClickListener sur le bouton libellé "se connecter". Pour le passage d une activité à une autre on crée un Intent Les intents sont des messages utilisées par le système comme moyen de communication avec des applications, activités Le premier argument représente le contexte et le second représente l activité d arrivée. On utilise la méthode startactivity avec comme argument l intent crée. Interface graphique avec XML IvMad, Application Android et XML (11) Pour récupérer l'événement du bouton "se connecter" on ajoute le code suivant dans la méthode OnCreate(). loginbutton.setonclicklistener(new OnClickListener() { public void onclick(view v) { Intent intent = new Intent(MainActivity.this, LoginDisplayActivity.class); startactivity(intent); ); Le code actuel effectue le passage de la première activité à la seconde sans transfert de données d'une activité à l'autre. Pour transmettre ces données, il faut ajouter à l intent une clé permettant de les identifier. On déclare EXTRA_LOGIN et EXTRA_PASSWORD pour le passage des données. Lors du clic sur le bouton, on récupère les textes saisies par l utilisateur gettext().tostring. On associe ces valeurs avec l intent par la méthode putextra

17 Interface graphique avec XML IvMad, Application Android et XML (12) A l'étape suivante on récupère les données transmises par l intent et on les assigne aux zones de texte dans l'activité LoginDisplayActivity à l aide de la méthode getintent en vérifiant que ce dernier n est pas nulle. Initialiser les deux zones de textes servant à afficher les informations utilisateurs (login/password). Récupérer les deux informations à l aide de leurs clés et de la méthode getstringextra. Il faut utiliser la méthode gettypeextra où Type correspond au type de la donnée passé. Lier les textes récupérés aux TextView à l aide de la méthode settext En plus, un contrôle de la saisie peut être mis en place pour éviter les champs vides ou l'adresse mail non conforme aux standards en se servant des "paternes" avec les symboles autorisés. Interface graphique avec XML IvMad, Application Android et XML (14) import java.util.regex.matcher; import java.util.regex.pattern; import android.os.bundle; import android.app.activity; import android.content.intent; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; import android.widget.toast; public class MainActivity extends Activity { final String EXTRA_LOGIN = "user_login"; final String EXTRA_PASSWORD = "user_password"; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); final EditText login = (EditText) findviewbyid(r.id.user_ ); final EditText pass = (EditText) findviewbyid(r.id.user_password); final Button loginbutton = (Button) findviewbyid(r.id.connect);

18 Interface graphique avec XML IvMad, Application Android et XML (15) loginbutton.setonclicklistener(new OnClickListener() { public void onclick(view v) { final String logintxt = login.gettext().tostring(); final String passtxt = pass.gettext().tostring(); // le 'pattern' pour vérifier le contenu de l'adresse mail Pattern p = Pattern.compile(".+@.+\\.[a z]+"); // Le 'matcher' va comparer le 'pattern' avec le 'string' passé en argument Matcher m = p.matcher(logintxt); // Si l adresse mail saisie ne correspond au format d une // adresse mail on affiche un message d'erreur if (!m.matches()) { Toast.makeText(MainActivity.this,R.string. _format_error, Toast.LENGTH_SHORT).show(); // Pour éviter l'exécution des opérateurs qui suivent return; Interface graphique avec XML IvMad, Application Android et XML (16) // le cas des différents champs qui ne doivent pas être vides if (logintxt.equals("") passtxt.equals("")) { Toast.makeText(MainActivity.this,R.string. _or_password_empty,Toast. LENGTH_SHORT).show(); return; // activer la vue pour afficher le résultat Intent intent = new Intent(MainActivity.this,LoginDisplayActivity.class); intent.putextra(extra_login, logintxt); intent.putextra(extra_password, passtxt); startactivity(intent); );

19 Interface graphique avec XML IvMad, Application Android et XML (13) import android.app.activity; import android.content.intent; import android.os.bundle; import android.widget.textview; public class LoginDisplayActivity extends Activity { final String EXTRA_LOGIN = "user_login"; final String EXTRA_PASSWORD = "user_password"; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.login_display); Intent intent = getintent(); TextView logindisplay = (TextView) findviewbyid(r.id. _display); TextView passworddisplay = (TextView) findviewbyid(r.id.password_display); if (intent!= null) { logindisplay.settext(intent.getstringextra(extra_login)); passworddisplay.settext(intent.getstringextra(extra_password)); Interface graphique avec XML IvMad, Application Android et XML (17)

20 Interface graphique avec XML IvMad, Android : Présenter en Tableau (1) La structure tableau dans toutes les plates-formes représente un moyen efficace de présentation et/ou de stockage d'information. Le point de départ pour mettre en place un tableau dans une application Android est de s'adresser à l'élément TableLayout. Le principe est un peu le même que pour le tableau en HTML : TableLayout défini un tableau, dans lequel on rajoute des lignes TableRow contient les composants. Les colonnes peuvent être définies comme extensibles (setcolumnstretchable()) pour gérer la largeur des colonnes tout en laissant une occuper l espace vide pour arriver à la largeur du conteneur rétractables (setcolumnshrinkable()) pour obtenir l effet inverse. Le TableLayout ne gère pas l affichage des bordures, lignes, colonnes ou cellules. C'est à définir dans un fichier style.xml. Interface graphique avec XML IvMad, Android : Présenter en Tableau (2) Créer le tableau dans res/layout/main.xml <TableLayout style="@style/frag1tablelayout" > <TableRow style="@style/frag1headertablerow"> <TextView style="@style/frag1headercol" android:text="cm"/> <TextView style="@style/frag1headercol" android:text="inch"/> </TableRow> <TableRow style="@style/frag1tablerow"> <TextView style="@style/frag1col" android:text="2.54"/> <TextView style="@style/frag1col" android:text="1"/> </TableRow> <TableRow style="@style/frag1tablerow"> <TextView style="@style/frag1col" android:text="5.08"/> <TextView style="@style/frag1col" android:text="2"/> </TableRow> <TableRow style="@style/frag1tablerow"> <TextView style="@style/frag1col" android:text="7.62"/> <TextView style="@style/frag1col" android:text="3"/></tablerow> </TableLayout>

21 Interface graphique avec XML IvMad, Android : Présenter en Tableau (3) Un style peut être appliqué pour chacune des colonnes comme une feuille de style CSS dans le fichier style.xml. <resources xmlns:android=" <style name="apptheme" parent="@android:style/android:theme.light" /> <style name="defaulttextview" parent="@android:style/textappearance.medium"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item></style> <style name="frag1tablelayout"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item></style> <style name="frag1headertablerow" parent="frag1tablelayout"> <item name="android:layout_marginbottom">3dp</item></style> <style name="frag1tablerow" parent="frag1tablelayout"></style> <style name="frag1col" parent="defaulttextview"> <item name="android:layout_marginbottom">1dp</item> <item name="android:background">@drawable/tableborder</item></style> <style name="frag1headercol" parent="frag1col"> <item name="android:textstyle">bold</item></style> </resources> Interface graphique avec XML IvMad, Android : Présenter en Tableau (4) Ajouter une bordure au tableau grâce à un objet drawable en forme de rectangle défini en arrière plan. Pour cela on créer l'objet drawable dans le répertoire /res/drawable/tableborder.xml. <?xml version="1.0" encoding="utf 8"?> <shape xmlns:android=" > <solid android:color="#ffffff"/> <stroke android:width="1dp" android:color="#777777"/> <corners android:radius="3dp" /> <padding android:left="100dp" android:top="5dp" android:right="10dp" android:bottom="5dp" /> </shape>

22 Interface graphique avec XML IvMad, Android : NFC (Near Field Communication) NFC est une technologie de communication en champ proche basée sur la fréquence radio MHz. La portée de la communication est de l'ordre de 10 cm en théorie mais effective à 1-4 cm pour des bandes passantes de 106 / 216 / 414 kbps. La communication permet l'envoi et la lecture de données sous forme de "Tags" entre deux terminaux ou entre un terminal et une puce. On peut échanger des données simplement en rapprochant le Smartphone d'une borne pour effectuer un paiement par exemple. Android gère les messages NFC avec le format NDEF (NFC Data Exchange Format). Pour l'échange d'information NFC l'activité Android a besoin de la permission dans le fichier AndroidManifest.xml : <user permission android:name="android.permission.nfc" /> Interface graphique avec XML IvMad, Android : NFC (Near Field Communication) L'activité test la présence du service NFC et son statut. L'affichage se fait à partir du fichier strings.xml. Pour extraire une chaine de caractère on précise son identifiant comme paramètre de la méthode gettext()

23 Interface graphique avec XML IvMad, Android: AsyncTask (Thread ) Un thread est un fil d'exécution ou tâche utilisé avec l'interface graphique d'un programme Java ou par des programmes de calcul intensif. Une application Android consommatrices de ressources (requêtes http, calculs lourds, ) doitfaireappelàunthread séparé pour "déconnecter" le GUI du calcul. Ainsi, les deux tâches fonctionnent de manière asynchrone (AsyncTask) sans provoquer l'arrêt de l'activité principale si elle est bloquée trop longtemps. Créer un nouveau projet appelé AsyncTache qui prend en charge un traitement long de manière asynchrone. Modifier le res/layout/main.xml en ajoutant un Button qui sert à lancer le traitement et une ProgressBar pour afficher la progression du traitement (voir le transparent suivant). Interface graphique avec XML IvMad, Android: AsyncTask (Thread ) Le code XML à mettre dans res/layout/main.xml : <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:layout_margintop="10dp" android:id="@+id/btnlaunch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="lancer la tâche" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="progression de la tâche asynchrone:" /> <ProgressBar android:id="@+id/pbasync" style="?android:attr/progressbarstylehorizontal" android:layout_width="fill_parent" android:layout_margin="10dp" android:layout_height="wrap_content" /> </LinearLayout>

24 Interface graphique avec XML IvMad, Android: AsyncTask (Thread ) Le code Java pour l'activité principale: public class AsyncTacheActivity extends Activity { private ProgressBar mprogressbar; private Button mbutton; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_async_big_calcul); // On récupère les composants de notre layout mprogressbar = (ProgressBar) findviewbyid(r.id.pbasync); mbutton = (Button) findviewbyid(r.id.btnlaunch); // On met un Listener sur le bouton mbutton.setonclicklistener(new OnClickListener() { public void onclick(view arg0) { LaTache tache = new LaTache(); tache.execute(); // On lance la tache séparée ); Interface graphique avec XML IvMad, Android: AsyncTask (Thread ) Ecriture de la classe LaTache, qui hérite d AsyncTask private class LaTache extends AsyncTask<Void, Integer, Void> Les trois paramètres attendus sont des types génériques : Le premier est le type des paramètres fournis à la tâche Le second est le type de données transmises durant la progression du traitement Le troisième est le type du résultat de la tâche Une AsyncTask implémente la méthode doinbackground, qui réalise le traitement de manière asynchrone dans un thread séparé. Trois méthodes appelées depuis l'ui thread, capables de le modifier: onpreexecute est appelée avant le traitement; onprogressupdate est appelée pour afficher la progression de la tache onpostexecute est appelée après le traitement sont optionnelles. Un appel à la méthode publishprogress permetlamiseàjourdelaprogression.on ne doit pas appeler la méthode onprogressupdate directement.

25 Interface graphique avec XML IvMad, Android: AsyncTask (Thread ) private class LaTache extends AsyncTask<Void, Integer, Void> { protected void onpreexecute() { super.onpreexecute(); Toast.makeText(getApplicationContext(), "Début du traitement asynchrone", Toast.LENGTH_LONG).show(); protected void onprogressupdate(integer... values){ super.onprogressupdate(values); // Mise à jour de la ProgressBar mprogressbar.setprogress(values[0]); protected Void doinbackground(void... arg0) { int p; for (p=0; p<=100; p++) { for (int i=0; i< ; i++) { /* vide */ // la méthode publishprogress met à jour l'interface en // invoquant la méthode onprogressupdate publishprogress(p); return null; protected void onpostexecute(void result) { Toast.makeText(getApplicationContext(), "Le traitement asynchrone est terminé", Toast.LENGTH_LONG).show(); Interface graphique avec XML IvMad, Android: AsyncTask (Thread ) Ecran 1 au lancement de l'activité Ecran 2 fin de l'activité Ecran 3 résultat de l'activité : tri par sélection

26 Interface graphique avec XML IvMad, Android: AsyncTask (Thread ) Appliquer un traitement lourd comme le tri par sélection d'un certain nombre d'entiers générés aléatoirement: int[] tbl = new int[100];... tbl[i] = (int)(math.random()*128);... protected void triselection(int[] tbl, int N) { int min, t, i; for (i=0; i<n 1; ++i) { min = i; for (int j=i+1; j<n; ++j) { if (tbl[j] < tbl[min]) { min = j; t = tbl[min]; tbl[min] = tbl[i]; tbl[i] = t; Interface graphique avec XML IvMad, Connexion TCP avec AsyncTask (1) Une application Android se connectant sur un serveur TCP par la méthode de traitement asynchrone de la requête réseau: public class TCPAsyncTaskActivity extends Activity { private String stringurl = " "; private TextView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); textview = new TextView(this); setcontentview(textview); TCPAsyncTaskRequest();

27 Interface graphique avec XML IvMad, Connexion TCP avec AsyncTask (2) La méthode vérifie la connexion et l'accessibilité du service réseau pour faire appel alors à la méthode gérée par AsyncTask. public void TCPAsyncTaskRequest() { ConnectivityManager connmgr = (ConnectivityManager) getsystemservice(context.connectivity_service); NetworkInfo networkinfo = connmgr.getactivenetworkinfo(); if (networkinfo!= null && networkinfo.isconnected()) { new AccessServerTask().execute(stringUrl); else { textview.settext("no network connection available."); Interface graphique avec XML IvMad, Connexion TCP avec AsyncTask (3) La méthode appelle la méthode qui exécute la tache asynchrone en fond et libère ainsi l'interface utilisateur. La méthode onpostexecute retourne le résultat du traitement. private class AccessServerTask extends AsyncTask<String,Void,String> protected String doinbackground(string... urls) { // params comes from the execute() call: params[0] is the url. return runtcpclient(urls[0]); // onpostexecute displays the results of the protected void onpostexecute(string result) { textview.settext(result);

28 Interface graphique avec XML IvMad, Connexion TCP avec AsyncTask (3) La méthode qui effectue le traitement réseau. private String runtcpclient(string myurl) { try { Socket s = new Socket(myurl, 1234); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); // send output msg String outmsg = "Connexion du client TCP sur le port: 1234" + System.getProperty("line.separator"); out.write(outmsg); out.flush(); // accept server response String inmsg = in.readline() + System.getProperty("line.separator"); // close connection s.close(); return inmsg; catch (UnknownHostException e) { return "Aucune connexion!"; catch (IOException e) { return "Aucune connexion!"; Interface graphique avec XML IvMad, HTTP Serveur avec AsyncTask (1) Le thread client pour chaque connexion est créé par une tache de fond non synchronisé avec le thread principal de l'activité. public class HTTPServerAsynkTaskMainActivity extends ActionBarActivity { private TextView textview; int port = protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); textview = new TextView(this); textview.settext("serveur installé sur le port: "+port); setcontentview(textview); new HTTPDServerTask().execute("");

29 Interface graphique avec XML IvMad, HTTP Serveur avec AsyncTask (2) private class HTTPDServerTask extends AsyncTask<String, Void, String> protected String doinbackground(string... urls) { try { // Installation du serveur sur un port ServerSocket ss = new ServerSocket(port); Log.i("HTTPDServerTaskActivity", "Serveur installé sur "+port); while(true) { // Boucle des connections clients Socket sk = ss.accept(); // Connexion acceptée mhttpdconnection(sk); // Création du client catch (IOException e) { Log.i("HTTPDServerTaskActivity", e.getmessage()); return protected void onpostexecute(string result) { Interface graphique avec XML IvMad, HTTP Serveur avec AsyncTask (3) protected void mhttpdconnection(socket sk) { try { OutputStream out = sk.getoutputstream(); // Formater le flux de sortie // Lecture de la requête String req = (new BufferedReader( new InputStreamReader(sk.getInputStream()))).readLine(); Log.i("mHttpdConnection", "Requête: "+req); // Traitement de la requête GET String str[] = req.split(" "); // Décompose 'req' par " " et charge en éléments en tableau if (str[0].equals("get")) { // Vérifier si la requête démarre par "GET" req = str[1].substring(1); // On enlève '/' devant le nom du fichier if (req.equals("")) req = req + "index.html";

30 Interface graphique avec XML IvMad, HTTP Serveur avec AsyncTask (4) try { FileInputStream fis = new FileInputStream(req); // Ouvrir le fichier demandé byte[] data = new byte[fis.available()]; // available retourne le nombre de bytes à lire fis.read(data); // Lire les données du fichier dans le tableau de bytes out.write(data); // Envoyer les données au client fis.close(); // Fermer le fichier demandé Log.i("mHttpdConnection", "Le serveur a envoyé la page au client"); catch (FileNotFoundException e) { new PrintStream(out).println("404 Not Found"); else { new PrintStream(out).println("400 Bad Request"); sk.close(); catch (IOException e) { Log.i("mHttpdConnection", "I/O error " + e.getmessage()); Interface graphique avec XML IvMad, Android : SQLite base de données (1) SQLite est Open Source Database accessible dans chaque unité mobile avec Android. L'utilisation d'une BD SQLite ne demande aucune installation ou administration. SQLite supporte le type TEXT (String en Java), INTEGER (long en Java) et REAL (double en Java). Tous les autres types doivent être converti vers un reconnu SQLite. Si une application Android crée une BD elle est alors sauvegardée par défaut dans le dossier : DATA/data/APP_NAME/databases/FILENAME. Le package android.database contient les classes nécessaires à la manipulation d'une BD. Le package android.database.sqlite contient des classes spécifiques à SQLite.

31 Interface graphique avec XML IvMad, Android : SQLite (2) Pour créer et modifier une BD dans une activité on étend (hérite) la sous-classe SQLiteOpenHelper. Le constructeur de l'activité fait appel à la méthode super(): super(context, DATABASE_NAME, null, DATABASE_VERSION); Dans cette classe les méthodes oncreate()et onupgrade() sont à réécrire. oncreate() est appelé pour la création de la BD si elle n'existe pas. onupgrade() est appelé pour modifier le schéma de la BD. Les deux méthodes prennent en paramètre la référence de la BD. La classe SQLiteOpenHelper fourni les méthodes getreadabledatabase() et getwriteabledatabase() pour accéder à un objet de type SQLiteDatabase en lecture ou en écriture. Une table de BD doit être identifiée par un _id automatiquement pour une clé primaire. qui est pris Interface graphique avec XML IvMad, Android : SQLite (3) SQLiteDatabase est la classe de base pour opérer avec une BD sous Android. Elle fournie les méthodes pour ouvrir, interroger, modifier ou fermer une BD : insert(), update() et delete() et la méthode execsql(), qui exécute une requête SQL. L'objet ContentValues fourni le binôme key/values. "key" est l'attribut d'une colonne et "values" représente son contenu. ContentValues peut être utilisé pour insérer ou modifier des enregistrements dans la BD. Les requêtes sont créées via les méthodes rawquery() ou query() de la classe SQLiteQueryBuilder. rawquery() accepte directement la requête SQL en paramètre. query() propose une interface structurée pour la requête SQL. SQLiteQueryBuilder est la classe qui facilite la création des requêtes SQL.

32 Interface graphique avec XML IvMad, Android : SQLite (4) public class MaBaseDeDonneesAndroid extends SQLiteOpenHelper { // Version de la BD private static final int DATABASE_VERSION = 1; // Nom de la BD private static final String DATABASE_NAME = "contactsmanager"; // Nom de la table dans la BD private static final String TABLE_CONTACTS = "contacts"; // Noms des colonnes dans la table private static final String KEY_ID = "id"; private static final String KEY_NAME = "name"; private static final String KEY_PH_NO = "phone_number"; public MaBaseDeDonneesAndroid(Context context) { // Ouverture et création de la BD si n'existe pas super(context, DATABASE_NAME, null, DATABASE_VERSION); Interface graphique avec XML IvMad, Android : SQLite (5) // Création de la public void oncreate(sqlitedatabase db) { String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT," + KEY_PH_NO + " TEXT" + ")"; db.execsql(create_contacts_table); // Effacer ou modifier une public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { // Drop older table if existed db.execsql("drop TABLE IF EXISTS " + TABLE_CONTACTS); // Create tables again oncreate(db);

33 Interface graphique avec XML IvMad, Android : SQLite (6) // Ajouter un 'contact' dans la table void addcontact(contact contact) { SQLiteDatabase db = this.getwritabledatabase(); ContentValues values = new ContentValues(); // Prendre le nom values.put(key_name, contact.getname()); // Prendre le numéro de téléphone values.put(key_ph_no, contact.getphonenumber()); // Insérer une ligne dans la table db.insert(table_contacts, null, values); // Fermer la BD db.close(); Interface graphique avec XML IvMad, Android : SQLite (7) // "Afficher" le contenu de la table public List<Contact> getallcontacts() { List<Contact> contactlist = new ArrayList<Contact>(); // Sélectionner toutes les lignes de la table String selectquery = "SELECT * FROM " + TABLE_CONTACTS; SQLiteDatabase db = this.getwritabledatabase(); Cursor cursor = db.rawquery(selectquery, null); // On boucle pour ajouter les lignes à la liste if (cursor.movetofirst()) { do { Contact contact = new Contact(); contact.setid(integer.parseint(cursor.getstring(0))); contact.setname( cursor.getstring(1) ); contact.setphonenumber( cursor.getstring(2) ); contactlist.add(contact); // Ajouter un contact à la liste while (cursor.movetonext()); return contactlist; // Retourne une liste de contacts

34 Interface graphique avec XML IvMad, Android : connexion à MySQL (1) Une application Java peut se connecter à une BD MySQL avec un connecteur JDBC. Ceci est juste pour Java2SE et JSP. Le pilote JDBC est l'interface de liaison entre l'application et le SGBD. Les récentes version d'android préconisent l'utilisation d'un service Web et une connexion basée HTTP par l'intermédiaire de scripts PHP ou JSP pour accéder au contenu de la BD et pour recevoir sur l'unité mobile sous Android le résultat d'une requête SQL. Néanmoins, il est possible de réussir une connexion avec une BD basée MySQL en se servant d'un connecteur JDBC ancienne génération beaucoup plus adapté aux connexions lentes d'un Smartphone ou une Tablette. Ainsi, dans les transparents qui suivent je présente une connexion réussie avec le connecteur JDBC dans le contexte de la DOSI : mysql-connector-java ga-bin.jar Android : connexion à MySQL (2) public void listdb() { // Renseigner les champs nécessaires à la connexion String url = "jdbc:mysql://dbs-perso.luminy.univmed.fr:3306/nom_bd"; String user = "nom_utilisateur"; String pass = "mot_de_passe"; try { // Instancier le driver JDBC Class.forName("com.mysql.jdbc.Driver").newInstance(); // Effectuer la connexion avec le serveur de la BD Connection con = DriverManager.getConnection(url, user, pass); // Confirmer la connexion Toast.makeText(getApplicationContext(),"Connexion OK!",Toast.LENGTH_SHORT).show(); // Préparer la requete SQL Interface graphique avec XML IvMad, String result = ""; Statement st = con.createstatement(); ResultSet rs = st.executequery("select * from contact"); // Recuperer le résultat de la requete ResultSetMetaData rsmd = rs.getmetadata(); // Extraire les éléments propres à chaque champs while(rs.next()) { result += rsmd.getcolumnname(1) + ": " + rs.getint(1) + "\n"; result += rsmd.getcolumnname(2) + ": " + rs.getstring(2) + "\n"; result += rsmd.getcolumnname(3) + ": " + rs.getstring(3) + "\n"; result += rsmd.getcolumnname(4) + ": " + rs.getstring(4) + "\n"; Toast affiche un contenu dans un cadre temporaire en fonction de trois paramètres: context, text, duration rs.close(); con.close(); // Afficher le résultat Toast.makeText(getApplicationContext(), result, Toast.LENGTH_SHORT).show(); catch(exception e) { e.printstacktrace();

35 Interface graphique avec XML IvMad, Android : connexion à MySQL (3) Dans l'ide Eclipse le connecteur JDBC doit être rajouté au projet qui gère les classes de la connexion. Télécharger dans un dossier le connecteur à partir de l'adresse: Par simple glisser dans l'interface Eclipse: copier/coller mettre le pilote dans le répertoire 'libs' Bouton droit sur le projet pour choisir 'Properties' -> 'Java buil Path' -> Libraries -> 'Add Jars' -> Ajouter dans Libs du projet. Interface graphique avec XML IvMad, Android : connexion à MySQL (4) // Insérer des données dans une table public void insertdb() { try { // Instancier le connecteur Class.forName("com.mysql.jdbc.Driver").newInstance(); // Etablir la connexion avec le serveur de la BD Connection con = DriverManager.getConnection(url, user, pass); // Construire la requête d'insertion de données requises à partir // d'une interface utilisateur sur l'unité mobile String ssql = ""; ssql += "INSERT INTO Contact(prenom,nom,tel)"; ssql += " VALUES ('"+lastnametext.gettext().tostring()+ "','"+firstnametext.gettext().tostring()+ "','"+telnumbertext.gettext().tostring()+"');"; // Créer l'opérateur Statement st = con.createstatement(); // Lancement de la requête int nb = st.executeupdate(ssql); // Fermeture des connexions st.close(); con.close(); catch(exception e) { e.printstacktrace();

TP SIN Programmation sur androïde Support : eclipse

TP SIN Programmation sur androïde Support : eclipse TP SIN Programmation sur androïde Support : eclipse Support : Smartphone sur androïde Pré requis (l élève doit savoir): Savoir utiliser un ordinateur Savoir utiliser un Smartphone Programme Objectif terminale

Plus en détail

Projet Android (LI260) Cours 2

Projet Android (LI260) Cours 2 Projet Android (LI260) Cours 2 Nicolas Baskiotis Université Pierre et Marie Curie (UPMC) Laboratoire d Informatique de Paris 6 (LIP6) S2-2013/2014 Plan Les ressources Debug Communication entre activités

Plus en détail

Outils, langage et approche Android Une introduction. Nicolas Stouls nicolas.stouls@insa lyon.fr

Outils, langage et approche Android Une introduction. Nicolas Stouls nicolas.stouls@insa lyon.fr Outils, langage et approche Android Une introduction Nicolas Stouls nicolas.stouls@insa lyon.fr Webographie La bible contenant «tout» : http://developer.android.com/index.html Les supports cette intervention

Plus en détail

TP au menu «UI ANDROID»

TP au menu «UI ANDROID» TP au menu «UI ANDROID» Pré-requis & Installation ( du couvert) soit installer en natif sur vos postes (!!! ATTENTION!!! FromScratch 1,1 Go à télécharger ) JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Bases de données et fournisseurs de contenu

Bases de données et fournisseurs de contenu 8 Bases de données et fournisseurs de contenu Au sommaire de ce chapitre : Créer des bases de données et utiliser SQLite Utiliser les fournisseurs de contenu, les curseurs et les content values pour stocker,

Plus en détail

Android UIThread, Thread, Handler et AsyncTask

Android UIThread, Thread, Handler et AsyncTask Android UIThread, Thread, Handler et AsyncTask jean-michel Douin, douin au cnam point fr version : 21 septembre 2012 Notes de cours 1 Bibliographie utilisée http://developer.android.com/resources/index.html

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

APPLICATIONS JAVA. 1. Android. Développement d'activités Java sous Android. Android Partie I. L'architecture du système Android. Application Android

APPLICATIONS JAVA. 1. Android. Développement d'activités Java sous Android. Android Partie I. L'architecture du système Android. Application Android Applications Java sous Android IvMad, 2011-2014 2 APPLICATIONS JAVA Android Partie I 1. Android Développement d'activités Java sous Android L'objectif principal de ce cours est de découvrir la programmation

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Programmation Android L3 informatique

Programmation Android L3 informatique Programmation Android L3 informatique Étienne Payet Département de mathématiques et d informatique Ces transparents sont mis à disposition selon les termes de la Licence Creative Commons Paternité - Pas

Plus en détail

Tutorial pour une application simple

Tutorial pour une application simple ANDROID & ECLIPSE Tutorial pour une application simple 1. Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition

Plus en détail

Les fondamentaux du développement d applications Java

Les fondamentaux du développement d applications Java Android 5 Les fondamentaux du développement d applications Java Nazim BENBOURAHLA Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant. Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de

Plus en détail

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations Projet Viticulture TP 3 : bases de données externes Description du thème Partie 1 : bases de données locales SQLite Partie 2 : projet H2O stockage local Partie 3 : bases de données distantes Partie 4 :

Plus en détail

1.3 Gestion d'une application

1.3 Gestion d'une application 1.3 Gestion d'une application 1. Un premier projet... Il est temps maintenant d'écrire la véritable première application Android avec l'inévitable affichage du mot bonjour, ce qui évidemment pour un développement

Plus en détail

www.elektor.fr/android SOMMAIRE

www.elektor.fr/android SOMMAIRE www.elektor.fr/android Android Apprendre à programmer des applis Environnement de développement Eclipse Programmation orientée objet en JAVA Auteur : Stephan Schwark Éditeur : Elektor ISBN : 978-2-86661-187-3

Plus en détail

Stockage de données sous Android

Stockage de données sous Android Stockage de données sous Android Master 2 informatique 2012-2013 Michel Chilowicz (sous licence CC By-NC-SA) Données temporaires d'une activité Une activité peut être détruite

Plus en détail

De Java à Android version 0.1

De Java à Android version 0.1 De Java à Android version 0.1 David Roche De Java à Andoid 1 Ce document est publié sous licence Creative Commons Vous êtes libres : de reproduire, distribuer et communiquer cette création au public de

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

Développement Android. J.-F. Couchot

Développement Android. J.-F. Couchot Développement Android J.-F. Couchot 12 novembre 2012 Table des matières 1 Introduction à l OS embarqué Android 3 I Composants principaux d une application................................ 3 I.1 Une activité............................................

Plus en détail

Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer

Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer Programmation des applications mobiles avec Android 1 Inspiré du cours de Olivier Le Goaer 2 OS mobile : outils de développement D après le cours de Olivier Le Goaer 3 Plateforme de développement MobileApp

Plus en détail

Android 4 Les fondamentaux du développement d'applications Java

Android 4 Les fondamentaux du développement d'applications Java La plateforme Android 1. Présentation 13 2. Historique 14 3. Google Play 15 3.1 Création d'un compte développeur 16 3.2 Publication d'une application 16 3.3 Suivi et mise à jour d'une application 18 Environnement

Plus en détail

Warren PAULUS. Android SDK et Android x86

Warren PAULUS. Android SDK et Android x86 Android SDK et Android x86 2010/2011 Voici un petit tutoriel pour installer Android de façon à ce qu il soit compatible avec NetBeans et Eclipse, ainsi que l utilisation d Android x86. Ce tutoriel a été

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Créer des applications Android

Créer des applications Android Créer des applications Android Auteurs : Philippe Lacomme, Raksmey Phan Les outils nécessaires sont : - Android SDK - Eclipse - Le plugin ADT de Eclipse Plan (ceci n est pas un cours) Outils: Préparation

Plus en détail

TP2 : Client d une BDD SqlServer

TP2 : Client d une BDD SqlServer TP2 : Client d une BDD SqlServer Objectifs : utiliser la barre de menu, utiliser les préférences d application (settings) ou (options), gérer la persistance des données, utiliser la bibliothèque jtds:jdbc

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

TP Programmation Java / JDBC / Oracle

TP Programmation Java / JDBC / Oracle TP Programmation Java / JDBC / Oracle 1. Connectivité avec une base de données Oracle au travers de l interface JDBC L interface de programmation (API) JDBC (Java DataBase Connectivity) est une librairie

Plus en détail

Les connexions sans fil avec Android. JMF (Tous droits réservés) 1

Les connexions sans fil avec Android. JMF (Tous droits réservés) 1 Les connexions sans fil avec Android JMF (Tous droits réservés) 1 Plan de l'exposé Wi-Fi : un rappel Démo 1 : trouver les réseaux Wi-Fi Démo 2 : repérer les appareils connectés sur notre réseau Wi-Fi Démo

Plus en détail

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction jean-michel Douin, douin au cnam point fr version : 8 Décembre 2014 Notes de cours 1 Sommaire Le socle, les fondements Le patron

Plus en détail

Tutoriel d installation de Hibernate avec Eclipse

Tutoriel d installation de Hibernate avec Eclipse Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création

Plus en détail

Table des matières. Partie I Concepts de base... 1. Préface... VII

Table des matières. Partie I Concepts de base... 1. Préface... VII Table des matières Préface... VII Partie I Concepts de base... 1 1. Tour d horizon... 3 Avantages et inconvénients de la programmation des smartphones... 3 Contenu d un programme Android... 4 Fonctionnalités

Plus en détail

Développement sous Android

Développement sous Android Développement sous Android Chapitres traités Les fournisseurs de contenu (Content Provider) Pour cette dernière étude de l'environnement Android, nous allons en profiter pour découvrir plein de fonctionnalités

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................

Plus en détail

Tutoriel Android. Pour démarrer la programmation d'applications Android

Tutoriel Android. Pour démarrer la programmation d'applications Android Tutoriel Android Pour démarrer la programmation d'applications Android Remarque préalable Comme il est impossible de traiter tous les aspects d'android, seulement quelques uns seront présentés. De plus

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Android et le Cloud Computing

Android et le Cloud Computing Android et le Cloud Computing 1 Plan de l'exposé Rappels sur Android et le cloud Présentation de GCM Notions fondamentales de GCM Construire un projet GCM Ecrire un client GCM (récepteur GCM) Ecrire un

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives : ntroduction 1/28 2/28 Anne-Cécile Caron Licence MAGE - Bases de Données 2013-2014 Application base de données Pour le développeur : Quel est l environnement? type de client (mode client serveur, intranet,...)

Plus en détail

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Serveur d'archivage 2007 Installation et utilisation de la BD exist Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Accès aux bases de données

Accès aux bases de données 13 Accès aux bases de données Les bases de données fournissent un mécanisme de stockage persistant pour les données d application et dans bien des cas, elles sont essentielles au fonctionnement des applications.

Plus en détail

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend

Plus en détail

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin Objectifs : Apprendre à l apprenant à lancer un serveur local «Apache» Apprendre à l'apprenant à lancer un serveur MySQL

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2) Le langage PHP (2) Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 54 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation

Plus en détail

Tutoriel Android - TP de prise en main

Tutoriel Android - TP de prise en main Tutoriel Android - TP de prise en main To cite this version:. Tutoriel Android - TP de prise en main. École d ingénieur. France. 2014, pp.51. HAL Id: cel-01082588 https://hal.archives-ouvertes.fr/cel-01082588v2

Plus en détail

Cahier des Charges du Projet Domotique. Choquet Mathieu Masson Jérôme Groupe 6. Domotique. p.1

Cahier des Charges du Projet Domotique. Choquet Mathieu Masson Jérôme Groupe 6. Domotique. p.1 Choquet Mathieu Masson Jérôme Groupe 6 Domotique p.1 SOMMAIRE : Introduction...... I/ Envoi de SMS...... II/ Architecture...... III/ Serveur...... IV/ Détection de mouvement...... V/ Problème rencontré......

Plus en détail

Education Delivery Intelligent Tool

Education Delivery Intelligent Tool Education Delivery Intelligent Tool Projet AMO2 Maxence RAOUX Joachim SEGALA RICM 4 Avril 2012 Sommaire I. Presentation du projet... 2 1. Contexte... 2 2. Demande... 2 3. Spécifications... 2 II. Guide

Plus en détail

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé

Plus en détail

Programmation d application Bases de données avec Java

Programmation d application Bases de données avec Java Plan du document Programmation d application Bases de données avec Java INT Problématique slide 3 Correspondance diagramme de classe slide 4 UML vers schéma relationnel Programmation BD avec JDBC slide

Plus en détail

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM Copyright TECH 2012 Technext - 8, avenue Saint Jean - 06400 CANNES Société - TECHNEXT France - Tel : (+ 33) 6 09 87 62 92 - Fax :

Plus en détail

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 1 ENDNOTE X2 SOMMAIRE 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 2. Manipuler une bibliothèque EndNote 2.1. La saisie

Plus en détail

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

Cours 14 Les fichiers

Cours 14 Les fichiers Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une

Plus en détail

Manuel du composant CKForms Version 1.3.2

Manuel du composant CKForms Version 1.3.2 Manuel du composant CKForms Version 1.3.2 Ce manuel vous présente les principales fonctionnalités du composant CKForms y compris le module et le plug-in CKForms 1.3 est la nouvelle version du composant

Plus en détail

Création d une application JEE

Création d une application JEE Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers

- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers - TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers vendredi 22 février 2013 Installation : Pour programmer des applications Android, il faut tout d abord veiller à disposer

Plus en détail

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T> Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances

Plus en détail

FileMaker Server 14. Aide FileMaker Server

FileMaker Server 14. Aide FileMaker Server FileMaker Server 14 Aide FileMaker Server 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Manuel logiciel client for Android

Manuel logiciel client for Android 1 Manuel logiciel client for Android 2 Copyright Systancia 2012 Tous droits réservés Les informations fournies dans le présent document sont fournies à titre d information, et de ce fait ne font l objet

Plus en détail

Modélisation et Gestion des bases de données avec mysql workbench

Modélisation et Gestion des bases de données avec mysql workbench Modélisation et Gestion des bases de données avec mysql workbench par novembre 2011 Table des matières 1 Installation 3 1.1 Ecran de chargement 3 1.2 Page d accueil 3 2 Réalisation d une base de données

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Dis papa, c est quoi un bus logiciel réparti?

Dis papa, c est quoi un bus logiciel réparti? Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail

Assistance à distance sous Windows

Assistance à distance sous Windows Bureau à distance Assistance à distance sous Windows Le bureau à distance est la meilleure solution pour prendre le contrôle à distance de son PC à la maison depuis son PC au bureau, ou inversement. Mais

Plus en détail

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4 MAILING Table des matières KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4 INSERER UNE IMAGE (OU UNE PHOTO) PAS DE COPIER / COLLER... 5 INSERER UN TABLEAU...

Plus en détail

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org Diffusé par Le Projet Documentation OpenOffice.org OpenOffice.org Documentation Project How-To Table des matières 1. Introduction...3

Plus en détail

Manuel d utilisation email NETexcom

Manuel d utilisation email NETexcom Manuel d utilisation email NETexcom Table des matières Vos emails avec NETexcom... 3 Présentation... 3 GroupWare... 3 WebMail emails sur internet... 4 Se connecter au Webmail... 4 Menu principal... 5 La

Plus en détail

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

Plus en détail

Optimiser pour les appareils mobiles

Optimiser pour les appareils mobiles chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...

Plus en détail

Dans l'article précédent, vous avez appris

Dans l'article précédent, vous avez appris Pour les débutants Les différents formats de sortie proposés par PHPExcel La bibliothèque orientée objet PHPExcel permet de lire et créer des fichiers pour tableurs. Dans cette série d articles, vous apprendrez

Plus en détail

SQL Server et Active Directory

SQL Server et Active Directory SQL Server et Active Directory Comment requêter AD depuis SQL Server Comment exécuter des requêtes de sélection sur un Active Directory depuis SQL Server? L'utilisation du principe des serveurs liés adapté

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail