Suite du projet Inventaire : Les articles saisis sont mémorisés dans la base de données articles.db, il faut désormais afficher les articles enregistrés au niveau de l'activité liste_article.
Reprendre l'activité correspondante (res/layout/content_liste_articke.xml) Cette fenêtre doit permettre d'afficher les articles enregistrés. Cette activité aura une présentation linéaire (LinearLayout), avec une orientation verticale. Ainsi les éléments seront les uns en dessous des autres.
Elle est composée dans un premier temps :
Elle comprendra :
Créer les contrôles graphiques et les libellés associés. Penser à nommer les contrôles graphiques. (Propriété id)
Nous allons compléter la classe ArticleDAO pour accéder aux articles enregistrés.
Ajouter la méthode readLesArticles(), qui effectuera une requête d'interrogation sur la table Article et retournera tous les articles dans un objet de type Cursor.
La méthode rawQuery permet d'effectuer des requêtes d'interrogation simple, elle retourne un objet de type Cursor.
Reprendre la classe ListeArticleActivity.java qui gère les événements se déroulant au niveau de l'activité ListeArticle.
Gérer le bouton Quitter comme cela a été fait au niveau de l'ajout d'un article, si cela n'est pas déjà fait.
Dans la méthodes initialisations, à la suite de la gestion du bouton Quitter, ajouter l'appel de la méthode afficherLesArticles que nous allons développer.
Créer la méthode afficherLesArticles.
Dans un premier temps, cette méthode accédera à la base, récupérera la liste des articles et affichera le nombre d'articles présents.
Tester. Vérifier les affichages de la console LogCat, avec Log level Debug et le filtre bdd. Il faut ensuite afficher les articles dans la ListView.
1. Interface graphique
Nous allons créer un nouveau layout pour définir l'apparence de chaque ligne de la liste des articles : clic droit au niveau du répertoire layout (dans res), choisir New/Layout Resource File. Nommer ce layout ligne_article, puis OK.
Choisir une présentation linéaire, avec une orientation horizontale. Y intégrer 4 TextView (tvRef, tvDes, tvPrix et tvQte) qui permettront l'affichage des valeurs des attributs de la table Article.
2. Traitement
Nous allons utiliser un Adapter : il s'agit d'un composant qui effectue un lien entre les données présentes dans un curseur et les contrôles graphiques.
Documentation du constructeur :
Il faut donc renseigner :
Puis créer un objet de type SimpleCursorAdapter
Reprendre la classe ListeArticleActivity.java, et ajouter ces lignes au niveau de la méthode afficherLesArticles, avant la fermeture de la base de données
Il faut ensuite affecter cet adapter à la ListView :
Tester.
Pour aligner les colonnes, donner des largeurs au textView (width), ajouter une marge à droite (5dp par exemple) et aligner le prix et la quantité à droite (textAlignment viewEnd).
Ajouter l'affichage du nombre d'articles en stock.
Répondre aux questions suivantes. Les réponses feront l'objet d'un document publié sur le drive, ce document devra vous identifier dans son entête, les pages seront numérotées sur le modèle p.x sur y et contenir un menu intéractif (liens automatiques) :