Présentation du projet

Développer avec Android par pratique : spécification du projet

Ce site ne sera plus alimenté de contenu après août 2014. Tous les nouveaux articles seront redigés pour www.waitingforcode.com

Pour apprendre à développer sous de nouvelles technologies par pratique, on a opté pour la mise en place d'un système de gestion des librairies. Dans la partie précédente, on a appris comment développer en Spring par pratique. Maintenant on va se concentrer sur le développement pour des smartphones en concevant une application Android.

L'article ci-dessus a pour but de vous introduire dans l'environnement du projet. Dans un premier temps on verra rapidement le contexte technique. La deuxième partie sera consacrée à la présentation des fonctionnalités du projet. A la fin on verra comment seront organisés les articles de cette série.

Contexte technique : Android

La popularisation des tablettes et des smartphones amène un grand bouleversement dans les pratiques informatiques et communicationnelles. De plus en plus de personnes décide de naviguer sur Internet avec leurs appareils mobiles, plus légers qu'un ordinateur portable. Ce changement de pratiques provoque également la naissance d'un nouveau besoin : une application pour l'appareil mobile.

Android est le nom d'un système opérationnel, développé depuis 2003 à Palo Alto. Racheté en 2007 par Google, il a vu sa première version sortir un an plus tard. Aujourd'hui, avec 1.5 miliard d'applications téléchargés par mois, il est une vraie référence mondiale.

Le développement d'une application Android s'oriente autour des 3 axes :
- configuration : regroupe tous les fichiers XML qui décrivent le comportement de l'application. Ces fichiers peuvent par exemple déterminer les traductions ou les filtres.
- vue : cette partie désigne l'application. Elle spécifie ce que voit utilisateur en fonction de l'appareil qu'il utilise. Elle peut concerner, par exemple, les icônes utilisées sur des tablettes et sur des smartphones d'une taille plus petite. Elle décrit également l'emplacement des éléments sur l'écran avec les fichiers XML de layouts.
- action : il s'agit de toute l'activité qui se passe sur l'écran. Il s'agit aussi bien d'événements liés à l'interface utilisateur (glissage, touche) qu'aux tâches asynchrones exécutés dans le second plan.

Ce système permet au développeur de se brancher sur toutes les utilités d'un téléphone mobile classique. Les applications écrites sous Android peuvent, par exemple, utiliser la liste des contacts pour communiquer avec des destinataires précis. Elles peuvent également envoyer les SMS ou effectuer les appels.

Contexte fonctionnel : spécification de l'application

Pour apprendre à développer en Android par pratique, on va concevoir l'application de gestion pour une librairie. Le logiciel doit permettre à l'utilisateur d'entrer en communication directe avec la librairie et d'effectuer les manipulations liées aux emprunts (opérations en lecture et en écriture). Pour ce faire il va utiliser un web service. Cependant, le web service ne sera pas réellement mis en place. A sa place on privilégiera les fichiers XML qui nous serviront comme les réponses envoyées à notre application.

En ce qui concerne les actions détaillées, elles seront listées par écrans que pourra voir l'utilisateur. Les voici :

  1. Ecran : Mon compte

    Cet écran doit faciliter la gestion du compte d'utilisateur. L'utilisateur pourra y renseigner ses données de connexion pour gérer ensuite les préférences liées au web service (type de mise à jour, fréquence des mises à jour, date de la première mise à jour). Il peut également gérer la liste d'attentes pour les livres qu'il souhatera d'emprunter à l'avenir.

  2. Ecran : Livres

    Ici l'utilisateur pourra consulter les livres disponibles dans la librairie. Le premier écran de cette partie contiendra la liste des livres attachés à des lettres d'alphabet. Ensuite, au clique sur le titre du livre, l'utilisateur verra l'écran changer.

    Après le changement, ce sont les informations sur le livre (titre, description, auteurs, actions) qui apparaîtront. L'utilisateur aura alors 3 choix possibles : envoyer par SMS, ajouter à la liste d'attente, retourner à la liste des livres).

    L'action d'envoi par SMS permet à l'utilisateur d'envoyer les informations sur le livre à un des contacts. Ajout à la liste d'attente rajoute le livre dans la liste des livres que l'utilisateur voudra emprunter. L'action de retour va amener l'utilisateur sur la liste des livres.

  3. Ecran : Le site web

    Dans cet écran l'utilisateur pourra consulter le site internet de la librairie. Dans notre exemple on utilisera la page d'accueil Google.

  4. Ecran : Contact

    A travers le formulaire placé sur cette page l'utilisateur pourra envoyer un e-mail aux gestionnaires de la librairie. L'envoi du mail sera effectué à travers une application tiers, comme par exemple Gmail.

  5. Ecran : Personnalisation

    L'utilisateur pourra ici personnaliser l'affichage de l'écran avec le livre. La personnalisation sera possible avec l'action du glisser-déposer (drag & drop).

Organisation des articles

Les articles seront organisés en sous parties. Chaque sous partie va aborder un concept précis de développement d'une application sous Android. Voici les parties disponibles actuellement :

  • Concepts de base : elle présentera les concepts de base pour le développement d'une applications sous Android.
  • Activités : cette partie va rapprocher plus en détail le concept des activités.
  • Vues et layouts : les articles de cette partie contiendra tout ce qui concerne à la présentation des écrans.
  • Couche des données : on verra ici tous les aspects liés à la gestion des données (base de données, fournisseurs de données et autres)
  • Ressources des fichiers : ici on présentera la gestion des ressources (fichier de layout, traductions etc.)
  • Fenêtres UI : grâce à cette partie on verra les méthodes de communication avec l'utilisateur grâce à des fenêtres.
  • Formulaires : ces articles montreront comment mettre en place les formulaires dans une application Android.
  • Validation : elle présentera la validation des formulaires.
  • Internationalisation : cette partie va s'occuper de démontrer comment internationaliser une application.
  • Evénements UI : on verra ici tous les événements liés à des actions utilisateur (cliques, glissages etc.)
  • Communication : ici on verra comment une application Android peut faciliter la communication entre deux personnes.
  • Onglets : dans cette partie on se focalisera sur un aspect visuel en particulier : gestion des onglets comme dans un navigateur web.
  • Menus : elle présentera les menus disponibles das une application android.
  • Tâches asynchrones : les tâches effectuées en second plan seront présentées ici.
  • Récepteurs : on verra comment intercépter un comportement lié à l'utilisation de l'appareil et comment le lier à l'application.
  • Outils de développement : cette partie présentera tous les outils qui peuvent faciliter le développement.

Après une telle introduction on est prêts à attaquer le développement. On a vu ici à quoi on aura à faire. L'article a également précisé comment on va pouvoir se retrouver à travers des articles rédigés au sujet du développement d'une application Android.

Bartosz KONIECZNY Introduction au projet

Une question ? Une remarque ?

*

*

Moi

Développeur d'applications Internet et journaliste passionné par l'adjectif français. Un aigle polonais orienté vers la progression, volant très haut et écoutant du zouk après les matches du foot français.

Vous appréciez mon travail ?

Pour contribuer au développement de ce site, ou pour remercier pour des articles rédigés, vous pouvez faire un don.

Un conseil Doctrine

Comment exécuter une requête LIKE ?

Pour créer une requête LIKE avec Doctrin2, on peut utiliser les expressions. Par exemple, on veut récupérer toutes les actualités dont le titre commence par "Comment faire". Le champ correspondant dans le fichier d'entité sera représenté par la variable $newsTitle. On veut également que l'auteur s'appelle "Nick". Voici comment on peut écrire une requête LIKE sous Doctrin2 :

    $qb = $this->getEntityManager()->createQueryBuilder();
    $qb->add('select', 'n.idNews')
    ->add('from', 'PagesNewsBundle:News n')
    ->add('where', $qb->expr()->andx(
      $qb->expr()->eq('n.newsAuthor', '?1'),
      $qb->expr()->like('n.newsTitle', '?2')
    ))
    ->setParameter(1, 'Nick') 
    ->setParameter(2, 'Comment faire%');
    $query = $qb->getQuery();
    $rows = $query->getResult();