Android : comment utiliser les Spinner dans son Application

Bonjour, heureux de vous savoir en train de me lire en ce jour. Aujourd’hui nous allons parler d’Android et du widget Spinner (Généralement appelé Combobox ou menu déroulant).

Mettre en place un Spinner dans son application est assez simple et l’opération peut se faire soit dans le fichier XML soit dans le code Java. Il faut tout de même noter que le composant Spinner est quelque peu différents des autres composants graphique tel les EditText ou les TextView.

En effet pour mettre en place un Spinner, on le crée d’abord dans notre fichier XML, puis on lui insère les éléments et c’est cette partie qui peut se faire soit via XML soit via JAVA. Comme rien ne vaut un exemple pour mieux comprendre, nous allons donc vous montrer comment procéder.

Nous allons supposer dans le reste de cet article avoir un objet Spinner dont les attributs sont :

<Spinner

android:layout_width=« wrap_content »

android:layout_height=« 30dp »

android:layout_marginBottom=« 30dp »

android:id=« @+id/spinner »

android:layout_centerVertical=« true »

android:layout_centerHorizontal=« true »/>

 

Nous allons dans un premier temps voir comment remplir son composant Spinner avec du XML. Pour cela dans le fichier strings.xml de votre application, créer un tableau de remplissage pour votre Spinner. La structure du tableau est la suivante

<string-array name=« item_array »>

<item>Faire un choix</item>

<item>Item 1</item>

<item>Item 2</item>

<item>Item 3</item>

</string-array>

 

Maintenant dans notre fichier JAVA, on procède a la jointure entre le Spinner et le tableau crée via les lignes de codes suivantes :

Spinner spin = (Spinner) findViewById(R.id.spinner);

ArrayAdapter <CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.item_array,android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spin.setAdapter(adapter);

 

Comme vous le voyez je crée un adapter qui prend en paramètre le tableau XML crée plus tôt et puis j’ajoute cet adapter à l’objet Spinner.

Et voilà, en procédant comme cela, votre objet Spinner est opérationnel et prêt à fonctionner.

Maintenant voyons le cas de figure ou votre tableau d’items est plutôt crée avec Java, la logique à respecter est la suivante : On déclare dans un premier temps un tableau d’items

String [] itemArray = {« Item 1″, »Item 2″, »Item 3 »};

Puis comme dans le cas précèdent, on déclare notre objet Spinner

Spinner spin = (Spinner) findViewById(R.id.spinner);

Et enfin on fait la liaison entre notre objet Spinner et le tableau Java ; et cela via les adapter comme toujours

ArrayAdapter <String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,itemArray);

spin.setAdapter(adapter);

Voilà, les deux procédés vous sont révèles, vous pouvez des maintenant ajouter des Spinner dans vos applications Android assez facilement.

Pour aller plus loin, il est parfois nécessaire de savoir quel élément du Spinner a été sélectionnée, pour cela utilisez l’instruction suivante :

String itemSelect = spin.getSelectedItem().toString();

Avec cette instruction itemSelect prend la valeur du Spinner sélectionné.

Il est aussi possible de déclarer un listener sur un Spinner, question d’exécuter une opération lorsque l’on fait un choix, pour cela la structure a respecter est la suivante :

 

spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){

@Override

Public void onItemSelected(AdapterView<?> parent,View view,

Int position,long id){

// action a faire ici, position represente la position de l’element selectionne

Log.v(« item »,(String)parent.getItemAtPosition(position));

}

@Override

Public void onNothingSelected(AdapterView<?> parent){

//TODOAuto-generatedmethodstub

}

});

 

 

Voilà avec cela se termine notre article qui avait pour but de vous initier à l’utilisation des Spinner sous Android.

Je vous souhaite donc une bonne lecture et vous dit à bientôt sur notre Blog.

Publicités

Comment attaquer une base de donnée SQLite sous Android

Bonjour, suite à une forte demande de votre part, nous aborderons avec vous dans ce tutoriel comment utiliser la base de données SQLite dans son application Android.

Pour rappel, notons SQLite est un SGBD relativement léger, il est beaucoup utilisé dans les systèmes embarqués tel les applications mobiles ou encore dans certains jeux vidéo, contrairement aux SGBD traditionnel, SQLite ne demande pas d’installation, il s’agit juste d’un simple fichier; de plus il ne nécessite pas de faire tourner un serveur pour le faire fonctionner. Ce qui fait donc de SQLite le SGBD adapté pour des travaux rapides et léger. SQLite est par défaut supporté par Android, donc pour l’utiliser dans notre application, on devra juste faire appels aux classes nécessaires. Sans plus tarder, entrons dans le vif du sujet.

Il n’y a pas de meilleure façon de comprendre un concept que par l’exemple, en partant de ce principe et afin de vous faire assimiler comment utiliser SQLite dans vos applications Android, nous allons supposer dans notre cas de figure avoir à créer une application Android devant permettre d’enregistrer, de modifier, de supprimer et d’afficher des articles. Un article étant composé d’un id, d’un titre et d’un contenu.

Nous allons donc lancer un projet Android que nous appellerons Article

Image sans titre

Cliquez sur Next jusqu’à ce que vous arriviez à la page ci-dessous (ne modifiez que si vous savez ce que vous faites, sinon laissez les options par défaut )

Image sans titre2

Cliquez sur Finish pour finir la création de votre projet. Vous verrez alors sur la gauche le projet Article apparaître.

Comme dit plus haut, notre apps a pour but de permettre de créer, modifier, supprimer et afficher les éléments d’un article. Nous allons donc commencer notre apps en définissant la classe Article !!

Image sans titre3

Ci-joint le code complet de notre classe Article : https://www.dropbox.com/s/e8f67n36ywqiorn/Article.java?dl=0

Maintenant que notre classe Database a été créé, créons à présent une autre classe Requete, elle sera chargé elle d’exécuter nos différentes requêtes pour créer, modifier, supprimer ou lister le contenu des articles https://www.dropbox.com/s/152j1q03c13fv60/Requete.java?dl=0

Pour finir, nous avons deux autres classes dans notre application, en fait ce sont des Activity qui seront reliées aux deux pages de notre apps; il s’agit de la classe MainActivity.java qui servira de page d’accueil ( elle est généré automatiquement lorsque l’on crée le projet) et la classe Crud.java (cette classe permet d’effectuer les opérations CRUD dans notre projet).

NB : pour utiliser SQLite dans votre projet, les classes primordiales sont Database.java, Requete.java; les autres classes qui ont été créée dans ce projet peuvent varier en fonction des circonstances. Bien entendu en fonction de ce que vous voulez gérer dans votre BD, les types d’attributs et de méthodes des classes Database et Requete pourront varier.

A présent, nous avons toutes les classes nécessaire, il ne nous reste à présent qu’à créer les interfaces pour chacune des actions que l’on veut mettre en place.

Pour mettre en place la partie visuelle de notre application (NB que le choix visuel vous appartient, il peut être calqué sur celui-ci ou être totalement différent) nous allons opter pour trois pages :

  • Une première qui affichent la liste de tous les articles et qui permet aussi d’en ajouter au besoin (activity_main.xml), elle sera liée à l’activity MainActivity.java et servira de page d’accueil. Elle contiendras en somme un bouton pour ajouter un article et une listview qui affichera l’ensemble des articles déjà enregistré
  • Une deuxième qui servira de template pour l’affichage des éléments de la listview (affiche.xml), en effet dans cet article, nous aborderons unpeu le concept de listview, mais rassurer vous, nous y reviendrons dans un futur billet.
  • La troisième et dernière page permettra d’ajouter, d’afficher, de modifier et de supprimer les articles (crud.xml), elle sera géré par l’activity (Crud.java)

 

RMQ : Je vous invites à parcourir le code des classes XML crée ci-dessous pour mieux comprendre la logique UI mise en place.

Après avoir mis notre partie UI en place, reste plus qu’à exécuter l’application, et en principe tout devrait bien se dérouler et on devrait voir quelques choses comme ceci :

Image sans titre6 Image sans titre7 Image sans titre8 Image sans titre5 Image sans titre4

Vous pouvez télécharger le projet complet ici : https://www.dropbox.com/s/ve85j5gyd3saxaj/Article.rar?dl=0

NB : Ce tutoriel a été écrit avec Éclipse, mais la logique reste la même sous Android Studio. C’est d’ailleurs cet IDE que je vous conseilles pour vos projets Android.

 

Introduction à Android et à Android Studio

Android pour ceux qui ne le savent pas est un système d’exploitation (SE ou OS) poukr mobiles. De la même manière dont nos PC ont besoin d’un SE (Windows dans la plupart des cas), nos smartphones et tablettes ont également besoin d’un SE (Android en ce qui nous concerne).

Android est édité et mise à jour par Google Inc., mais ce qu’il faut savoir c’est que Google n’a pas créé le système Android à la base, mais suite à l’achat en 2005 de la société Android Inc., ils ont ardemment travaillés sur le système, l’ont customisé sur presque tous les points afin d’en faire le SE mobile le plus populaire de la planète.

Aujourd’hui, Android est en version 6.0.1 (nom de code Marshmallow), Chaque version d’Android à un nom de dessert  (va savoir pourquoi). La version Android la plus populaire actuellement c’est la 4.4 (Kitkat), suivi de près par Jelly Bean et ses variantes.

clip_image001

Ci-dessus, l’architecture du système Android, il est important pour tout développeur de la connaître avant de se lancer dans le développement Android.

Vous remarquerez donc que les applications que l’on installe se trouve sur la couche 4 ( on lit de bas vers le haut ), mais elles font appel de temps en temps a des fonctions des couches supérieures pour gérer certaines fonctionnalités.

 

FAIRE DU DEVELOPPEMENT POUR ANDROID

Android comme mentionné plus haut est le SE mobile de l’heure, ne pas développer pour Android serait une grosse erreur, même si pour l’instant les revenus pour le développeur sont inférieur à l’Appstore.

Développer pour Android est hyper simple, tout le monde peut faire une application Android. Les technologies qu’il faut connaitre sont : JAVA et XML

Par JAVA je ne veux pas dire être un expert de JSE hein !! Faut juste avoir des connaissances de bases, avec les éditeurs spécialisés, l’auto-complétion vous aide à rapidement produire vos codes.

Une autre chose importante est la bonne connaissance du principe de l’orienté objet, ainsi qu’une bonne aptitude à produire des algorithmes performant et optimaux.

Au début du développement Android, Google préconisait de développer avec Eclipse. Ci-dessous le lien : http://developer.android.com/sdk/index.html

Sur cette page, vous pourrez choisir la version correspondante à votre SE.

Depuis Mai dernier 2013, Google a lancé un nouvel IDE, Android Studio. Il est disponible à cette adresse :

http://developer.android.com/sdk/installing/studio.html

Android Studio est basé sur IntelliJ IDEA, un IDE très connu dans le monde java. L’IDE est encore en version Beta, mais les possibilités offertes par cet IDE sont énormes, entre autres la possibilité de tester son apps sur plusieurs résolutions d’écran.

De même l’architecture du projet est différente que l’on soit sur Android Studio ou sur Eclipse. Afin de facilité la migration, il possible avec la dernière mise à jour du sdk manager sur Eclipse d’importer ses projets Eclipse pour Android Studio.

 

PREMIER PAS AVEC ANDROID STUDIO

Après avoir téléchargé Android Studio, il est maintenant tant de voir comment l’installer, Chose toujours pas aisé à faire. Avant de procédé à l’installation, il faut configurer certaines variables d’environnements sous peine d’erreur lors de l’installation.

Pour faire fonctionner Android Studio, il faut configurer les variables systèmes suivantes : JDK_HOME, JAVA_HOME et bien sûr avoir au préalable configuré JAVA normalement sur son PC.

Pour JDK_HOME : créer la variable JDK_HOME comme variable d’environnement avec pour chemin le lien vers le jdk sur votre machine, idem pour la variable JAVA_HOME

( la figure ci-dessous est a titre d’exemple )

 

clip_image002

 

Pour rappel pour configurer JAVA sur votre PC, il faut procéder comme suit : choisissez la variable système path, cliquez sur modifier puis ajouter précédé de ; le chemin vers le dossier bin de votre dossier JDK

( la figure ci-dessous est à titre d’exemple )

 

clip_image003

 

NB : l’astuce donné plus haut n’est valable que pour les Windows user, pour ceux d’entre vous qui utilise Linux, bien vouloir suivre ce lien : http://www.cnx-software.com/2013/05/16/installing-android-studio-ide-in-ubuntu-hello-world-application/

pour voir comment configurer la variable JDK_HOME ( java étant configuré par défaut sur vos machines ).

Après avoir fait tout ce qui est mentionné ci-haut, vous pouvez à présent lancer l’installation d’Android Studio, tout devrait bien se passer, et une fois cela finit vous pourrez lancer l’environnement.

clip_image004

Pour créer un projet il faut remplir les champs suivants :

Nom de votre application : c’est le nom qu’aura votre application

Module name : c’est le nom de votre projet (généralement le même que celui de l’apps)

Package : arborescence de votre projet ( généralement c’est com.nom_projet )

Projet location : ou sera situé votre projet ( généralement faut crée un repertoire workspace )

Minimum required sdk : version d’android minimal pour exécuter votre apps

Target sdk : version d’android que possède votre émulateur ou alors votre device

Compile sdk : version du sdk avec laquelle compilé ( généralement la dernière version )

Pour le reste des champs et fenêtres, laisser comme tel et valider juste.

Après configuration du gradle et création de votre apps, vous devrez avoir une fenêtre comme celle-ci-dessous :

clip_image005

Bien sur ce, on va arrêté pour ce 1er tuto, plus d’infos seront donnés lors du coding party et aussi via nos pages sociales !!