TP2 : Client d une BDD SqlServer



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

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

BIRT (Business Intelligence and Reporting Tools)

TP SIN Programmation sur androïde Support : eclipse

Groupe Eyrolles, 2003, ISBN : X

Tutorial pour une application simple

KWISATZ MODULE PRESTASHOP

1. Base de données SQLite

Introduction à Eclipse

TD/TP 1 Introduction au SDK d Android

SOMMAIRE ÉTAPES OBLIGATOIRES. Récupérer le connecteur... 3

sommaire ÉTAPES OBLIGATOIRES Récupérer le connecteur... 3

PROCÉDURE D AIDE AU PARAMÉTRAGE

Atelier Le gestionnaire de fichier

CREG : versailles.fr/spip.php?article803

Documentation Annexe sur le PGI :

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

C RÉATION DE PDF (1) Cours SEM 205 Mieux utiliser le format PDF

EXTENSION WORDPRESS. Contact Form 7. Proposé par :

Manipulation 4 : Application de «Change».

COURS WINDEV NUMERO 3

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Guide SQL Server 2008 pour HYSAS

Les fondamentaux du développement d applications Java

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Formation. Module WEB 4.1. Support de cours

Tutorial Terminal Server sous

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

LOGICIEL KIPICAM : Manuel d installation et d utilisation

Installation et utilisation du client FirstClass 11

SOMMAIRE

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Si vous décidez d utiliser un autre chemin, c est ce nouveau chemin qu il faudra prendre en compte pour la sauvegarde. Cf. : Chapitre 9 Sauvegarde

Comment accéder à d Internet Explorer

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier Tenrox. Tous droits réservés.

1.3 Gestion d'une application

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Optimiser pour les appareils mobiles

Guide de démarrage Intellipool Network Monitor

1. Installation du Module

Office 365/WIFI/Courrier. Guide pour les étudiants

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Comment insérer une image de fond?

Comment réaliser une capture d écran dans Word. Alors comment ouvrir une page Word?

FileMaker Server 14. Aide FileMaker Server

Manuel d utilisation du site web de l ONRN

Table des matières. Télécharger MetaTrader 4. Première connexion à MetaTrader 4. Se connecter à MetaTrader 4. Modifier la langue

Guide d utilisation. Version 1.1

RAPPORT DE CONCEPTION UML :

Manuel d utilisation DeveryLoc

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF

BONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO.

Guide Expert Comptable Production Coala

< Atelier 1 /> Démarrer une application web

Vous pouvez désormais consulter les textes signés par la DILA, le rechargement du code Applet se fera automatiquement.

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

SERVICE CONTACT INSTANTANÉ GUIDE D UTILISATEUR

Outlook Présentation.

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

Tutoriel. Votre site web en 30 minutes

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Découverte des applications de la suite

Windows Serveur 2012 : DHCP. Installation et mise en place

Manuel de l utilisateur. Soft-phone - Client VoIP 3CX Version 6.0

ESPACE COLLABORATIF SHAREPOINT

Projet de Java Enterprise Edition

Contenu de la version 3.4 C I V I L N E T A D M I N I S T R A T I O N

SQL Server Installation Center et SQL Server Management Studio

Préparation à l installation d Active Directory

SmartCaisse, depuis Prise de Commande IPhone, IPad (2, 3 et mini), IPod et tablette Android SmartCaisse

Volet de visualisation

Traitement par lot redimensionner des images


Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

OUTILS DE TRANSFERT DE FICHIER VERS LISEUSES ET IPAD

ScTools Outil de personnalisation de carte

Début de la procédure

I / La démarche à suivre pour l installation de l application-crm

Se connecter en WiFi à une Freebox

Configuration de SQL server 2005 pour la réplication

PARAMETRER LA MESSAGERIE SOUS THUNDERBIRD

Scopia Desktop. Sommaire

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Virtual PBX Quick User Guide

MEGA ITSM Accelerator. Guide de démarrage

Configuration APN internet Réseau 3G «Terminaux et tablettes sous Android» Configuration APN «internet» sur système Android :

Déploiement d application Silverlight

Guide de l utilisateur Mikogo Version Windows

Manuel d'installation de GESLAB Client Lourd

Manuel d installation et d utilisation du logiciel GigaRunner

Documentation Liste des changements apportés

Sécurisation du réseau

Utilisation du plugin AppliDis SLB (Smart Load Balancing)

Transcription:

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 pour accéder à un serveur de base de données SqlServer, utiliser un Widget de type liste (ListView), gérer la rotation de la vue pour redessiner la vue, ça devrait suffire L application va consister à ajouter des «tuples» ou enregistrement à une table nommée F pour «Fournisseurs» d une base de données nommée Entreprise. Elle permettra également l affichage dans un contrôle de type «liste» de la liste des fournisseurs. Enfin un «clic long» sur un élément de la liste permettra la suppression du fournisseur sélectionné. La table F contient les champs suivants : un identificateur unique, numéro du fournisseur «NF», un nom de fournisseur «nomf», un statut «statut», un lieu de résidence «ville». Mise en place de l activité principale 1. Créer un nouveau projet Android Application nommé appclientsql, l application portera le nom du projet et le paquetage sera nommé net.votrenom.votreprénom.appclientsql : utiliser l API 12 comme sdk mini et l API 19 pour le développement, vous pouvez utiliser l icône fournie dans le dossier Android_Resources pour «agrémenter» votre application, conserver les noms par défaut de l activité (MainActivity.java) et du layout (activity_main.xml) générés. Voici le layout généré pour l activité principale ainsi créée, et celui que vous devez obtenir : TP2 : Client d une BDD SqlServer Page 1

Vous aurez reconnu en partant du haut : un contrôle de type «TextView» pour le titre de la vue, un contrôle de type «Button» qui servira à ajouter un fournisseur à la table F, 4 couples «TextView»/«EditText» pour éditer les données du fournisseur à ajouter, un contrôle de type «Button» qui servira à demander l affichage de la table des fournisseurs, un contrôle de type «TextView» pour le titre de la liste des fournisseurs, un contrôle de type «ListView» pour lister les fournisseurs. 2. A vous de jouer, faites en sorte d obtenir la vue présentée ci-dessus. Mise en place d une activité de «préférences» La vue de «préférences» permet de configurer les paramètres d application et de les rendre persistants afin qu il ne soit pas nécessaire de les spécifier à chaque lancement de l application. Généralement une valeur par défaut leur est attribuée pour le premier démarrage de l application. Sur Android cette vue ou activité est activée lorsque l application est active, en cliquant sur le bouton «settings» aussi appelé «options». Les activités de préférences doivent également être définies en XML, dans un dossier res/xml. Elles n utilisent pas les contrôles Widgets des activités «classiques» de l application, mais un jeu de balises spécifiques. Malheureusement, dans la version actuelle de l outil Eclipse-Android, il n y a pas de rendu visuel possible des activités de préférences. Les contrôles utilisables sont : PreferenceScreen : élément racine obligatoire de la hiérarchie de l activité des préférences, CheckBoxPreference : pour un contrôle case à cocher, DialogPreference : pour un contrôle du type boîte de dialogue, EditTextPreference : pour un contrôle du type zone d édition texte, MultiSelectListPreference : pour une liste de sélection multiple, PreferenceCategory : pour associer des contrôles dans un groupe avec un titre, RingTonePreference : pour le choix d une sonnerie, SwitchPreference : pour un contrôle commutateur. 3. Ajouter un dossier xml au dossier des ressources res et lui ajouter un fichier xml pour définir la vue des préférences, vous le nommerez userpreferences.xml (par exemple). 4. Compléter ce fichier afin d obtenir une vue telle que ci-dessous permettant de définir deux groupes ou catégories : un groupe pour les paramètres d adressage du serveur (adresse ip et port), un groupe pour les paramètres d authentification (nom d utilisateur et mot de passe). TP2 : Client d une BDD SqlServer Page 2

Compte tenu de l aspect (sans intérêt) de cette partie, un exemple de code XML correspondant vous est fourni dans un fichier preferences.xml du dossier Android_Resources. De même, les valeurs associées aux attributs XML de l exemple sont fournies dans un fichier stringspreferences.xml. 5. Ajouter une nouvelle classe java nommée PreferencesFragments à votre projet et faites la hériter de la classe PreferenceFragment. Coder cette classe afin qu elle charge les préférences définies dans le fichier XML et qu elle définisse les clés des attributs des préférences qui nous seront utiles pour relire les valeurs associées. 6. Ajouter une nouvelle classe java nommée SetPreferencesFragmentActivity à votre projet et faites la hériter de la classe Activity. Coder cette classe afin qu elle remplace l activité courante par le fragment des préférences. 7. Ajouter un menu options (ou settings) à votre activité principale, MainActivity, méthode Activity.onCreateOptionsMenu(). 8. Faites en sorte de capturer l événement sélection du menu options afin d afficher votre vue de préférences avec attente d un résultat en retour, méthode Activity.onOptionsItemSelected(). 9. Ajouter à votre classe MainActivity les données membres privées de type String suivantes pour stocker les valeurs définies via les préférences : ip : adresse ip du serveur SQL, port : port du serveur SQL, username : nom d utilisateur du compte SQL, password : mot de passe du compte SQL. 10. Faites en sorte de capturer le résultat retourné par la vue de préférences, méthode onactivityresult(). Cette méthode devra recopier les valeurs des attributs de préférences dans les attributs de la classe MainActivity. Il est conseillé pour cela de coder une méthode privée nommée updateattributsfrompreferences() car nous en aurons besoin par ailleurs. 11. Ajouter l appel à votre méthode updateattributsfrompreferences() dans la méthode oncreate() afin qu au chargement de l activité principale les attributs soient affectés avec les préférences persistantes. 12. Vérifier le bon fonctionnement de l ensemble. TP2 : Client d une BDD SqlServer Page 3

Codage d une classe métier pour accéder à la table F de la base Entreprise Pour vous mettre dans l ambiance, voici le diagramme de classe qu il faut coder Il est malade ou quoi!!! Pas de panique, la classe de droite fait partie d une bibliothèque «open source» fournie par «sourceforge.net». Cette bibliothèque fournit tout ce qu il faut pour se connecter à un serveur SQL et y effectuer des requêtes. La classe métier à développer est à gauche. Aller, je vous la donne De toute façon cela n apporterai rien puisque vous êtes sensé maitriser la programmation java. Si vous le souhaitez, vous pouvez cependant demander à avoir une petite présentation des fonctionnalités de cette classe 13. Ajouter la bibliothèque jtds :jdbc nommée jtds-1.2.8.jar à votre projet, vous la trouverez dans le dossier Android_Resources. 14. Ajouter la classe fournie ClientSQLmetier.java à votre projet. Vous la trouverez également dans le dossier Android_Resources. Et voilà, c en est terminé de la classe métier! Ajouter une ligne à la table F des fournisseurs Nous allons à présent utiliser la classe ClientSQLmetier pour ajouter un nouveau fournisseur à la table F. 15. Compléter le codage de la classe MainActivity afin de lui ajouter deux attributs privés pour les boutons «Ajouter un fournisseur» et «Lister les fournisseurs». TP2 : Client d une BDD SqlServer Page 4

16. Compléter le codage de la classe MainActivity afin de lui ajouter un attribut privé nommé clientbdd, objet de la classe ClientSQLmetier pour les accès à la BDD. 17. Compléter le codage de la classe MainActivity afin d instancier clientbdd avec les attributs initialisés par les préférences, une base de données nommée «Entreprise» et un time-out de connexion de 5s. 18. Compléter la méthode surchargée Activity.onCreate() afin : d initialiser les attributs précédents avec les références aux contrôles Widgets de l activité, d associer un écouteur sur le bouton «Ajouter un fournisseur» pour capturer l événement onclick et déclencher la méthode associée. 19. Coder la méthode onclick() afin qu elle ajoute le fournisseur à la BDD en utilisant la méthode addnewfournisseur(). Cette méthode retourne 1 en cas de succès et -1 autrement (si NF déjà utilisé par exemple). Afficher le résultat de l ajout dans une boîte de message de type AlertDialog. Rappel : L accès à la BDD passe par le réseau Il faut donc donner la permission nécessaire et faire en sorte que le code s exécute dans un «thread background», par exemple en utilisant la classe Thread (c.f. TP1!). 20. Vérifier le bon fonctionnement de l ensemble. Lister la table F des fournisseurs dans la «ListView» 21. Compléter la méthode surchargée Activity.onCreate() afin d associer un écouteur sur le bouton «Lister les fournisseurs» pour capturer l événement onclick et déclencher la méthode associée. 22. Coder la méthode onclick() afin qu elle affiche la liste des fournisseurs dans la ListView. On utilisera dans un premier temps un layout prédéfini du type «simple TextView», android.r.layout.simple_list_item_1. Il est conseillé de faire appel à une classe Fournisseur pour représenter les objets «Fournisseur», objets qui seront stockés dans un ArrayList des objets à lister. 23. Vérifier le bon fonctionnement de l ensemble. Personnaliser l item de la ListView Vous allez à présent réaliser un item personnalisé pour la liste des fournisseurs, cet item aura la structure et l allure suivantes : LinearLayout horizontal LinearLayout vertical LinearLayout horizontal TextView «nf» TextView «nomf» ImageView «imgusine» LinearLayout horizontal TextView «statut» TextView «ville» Le fichier XML correspondant item_perso.xml vous est fourni dans le dossier Android_Resources. Vous y trouverez également l image à associer au contrôle imageview nommée usine.jpg. TP2 : Client d une BDD SqlServer Page 5

24. Ajouter l image usine.jpg à votre projet et concevoir (ou récupérer) le layout item_perso.xml. 25. Coder une classe adaptateur personnalisée pour cet item que vous nommerez ArrayFournisseurAdapter héritant de la classe ArrayAdapter. 26. Modifier le code de votre activité afin de remplacer le layout prédéfini par votre layout personnalisé. 27. Vérifier le bon fonctionnement de l ensemble, ci-dessous l allure de la vue que vous devriez obtenir. Gérer la rotation de la vue Vous aurez remarqué qu une fois la liste affichée, si vous basculez votre matériel du mode «portait» au mode «paysage» ou inversement l affichage du contenu de la liste disparait En effet, lors de la rotation, l activité active est redessinée, la méthode Activity.onCreate() est appelée et redessine votre vue avec une liste vide. 28. Rendre votre classe Fournisseur «sérialisable». 29. Faire en sorte de gérer la persistance de la vue lors d une rotation du matériel. Supprimer un fournisseur suite à un «clic long» sur un élément de la liste On désire que lors d un clic prolongé sur un des items de la liste celui-ci soit supprimé et qu un message dans une «AlertDialog» nous signale la réussite ou l échec de la suppression. 30. Compléter la méthode surchargée Activity.onCreate afin d associer un écouteur sur l événement clic long sur un item de la liste setonitemlongclicklistener et déclencher la méthode associée onitemlongclick(). 31. Coder la méthode onitemlongclick() afin de supprimer le fournisseur sélectionné et signaler la réussite ou l échec de l opération dans une AlertDialog. Extension possible : prévenir de la suppression» La méthode retenue pour la suppression d un fournisseur est un peu brutale, elle ne prévient pas l utilisateur avant action Faire en sorte qu il soit demandé une confirmation de suppression suite à la détection du clic long avant de supprimer ou non le fournisseur sélectionné. TP2 : Client d une BDD SqlServer Page 6

Diagramme des classes Pour le plaisir des yeux, le diagramme des classes mises en place dans cette application. Sujet, ressources et corrigé : TP2 : Client d une BDD SqlServer Page 7