Programme Android : SMSExporter

Publié le , dans Programmation.
Dernière mise à jour le

Pour ceux qui n'en ont pas entendu parler, Android est un OS destiné aux terminaux mobiles (comme les téléphones portables) basé sur une architecture Linux, développé par Android puis racheté par google. Ce système d'exploitation fait beaucoup parler de lui pour une simple et bonne raison : il est open source !

Exemple d'affichage

Affichage de l'export du fil des SMS. Un brin de transformations en CSS rend la chose tout de suite plus jolie !

Crédits : Maxime Marion

Même s'il est encore jeune, Android séduit. Les mobiles tournant actuellement sous Android sont considérés comme les concurrents directs de l'Iphone, pourtant connu pour son ergonomie.

Afin de promouvoir son OS, Google et les membres de l'Open Handset Alliance proposent un SDK (et maintenant un NDK) permettant aux développeurs en herbe *lève la main* de créer facilement des applications-de-la-mort-qui-tue. Au programme : Java, OpenGL ES, la création de Widgets et d'interfaces en XML et j'en passe.

C'est grâce à tout ces outils (et l'IDE Eclipse) que je me suis mis à travailler sur une application pour Android. J'ai nommé, SMSExporter. Cette application part d'un constat de ma part suite à un bon mois d'utilisation de mon nouveau téléphone : le HTC Hero (tournant sous Android, vous vous en doutez). Lorsque le nombre de SMS devient trop important, le téléphone est lent, très lent, beaucoup trop lent !

Seule solution : les sauvegarder. J'ai donc fait un petit tour sur le market Android, à la recherche d'une application pour exporter les SMS, et à mon grand désarroi, elles ne correspondaient pas à ce que je cherchais. Certaines sont payantes et toutes nécessitent l'utilisation d'un logiciel tiers pour afficher les SMS exportés.

J'ai donc décidé de créer ma propre application.

Descriptif de l'application

Cette application permet donc d'exporter vos fils de discussion, au format HTML.L'avantage est qu'il suffit de disposer d'un navigateur Internet pour ensuite les visualiser confortablement. Et un navigateur Internet, on en trouve partout, que ce soit sur Mac, PC ou Linux. On en trouve même sur les téléphones portables récents.
Ainsi, une fois exportés, vous pouvez vider vos fils de discussion tout en conservant vos anciens SMS bien au chaud, sur votre carte SD et sur votre ordinateur. Il suffit de lancer le fichier HTML correspondant pour lire le fil.

Un autre avantage du format HTML est la personnalisation de l'affichage. En effet, j'ai essayé de respecter les normes XHTML / CSS pour les fichiers exportés. Chacun peut donc créer un CSS perso permettant d'afficher ses fils comme bon lui semble.
Il suffit juste de suivre les quelques règles du fichier HTML, que je détaillerais plus bas.

Aperçu de l'application

Interface SMS Exporter

Interface principale, on liste les différents fils de discussion.

Crédits : Maxime Marion

Menu SMS Exporter

Le menu utilisateur.

Crédits : Maxime Marion

L'affichage des différents fils de discussion est passé à une liste. Pour chacune des lignes, on affiche la petite icône SMSExporter, le nom du contact avec lequel on papote, et enfin le nombre de messages. Pour le moment, seul le nombre de SMS est affiché. L'aspect d'une ligne de la liste est obtenu grâce à un fichier XML, lui indiquant les 3 champs à remplir, leur aspect, position...

Aide SMS Exporter

Affichage de l'aide.

Crédits : Maxime Marion

A propos SMS Exporter

Affichage du menu "A propos"

Crédits : Maxime Marion

Ici encore, l'aspect des deux boites de dialogues s'affichant après un appui sur le bouton de menu associé est géré par des fichier XML.

Arborescence du format d'exportation

Lorsque l'utilisateur clique sur une ligne de la liste, le fil de discussion associé est aussitôt exporté.
On peut distinguer trois étapes différentes, lors de l'exportation :

_ La création du fichier et du corps de la page,
_ Une séparation, indiquant la date des messages qui vont suivre,
_ L'exportation de chaque SMS.

Le corps de la page contient les informations essentielles concernant le format de la page web générée, le chemin vers le fichier CSS associé et enfin l'aspect général de la page. Vous aurez peut être remarqué la div "Haut", qui n'est pas utilisée pour le moment. A l'avenir, elle pourrait contenir des informations supplémentaires sur le contact (numéro de téléphone, adresse, adresses mail, notes...) ou/et sur les SMS présents dans ce fichier.

Vient ensuite l'affichage de la date au format "Jour_de_la_semaine Jour_du_mois Mois Année".

Et enfin l'exportation de chaque SMS. En plus du corps du message, on dispose des informations suivantes : nom de l'envoyeur, heure d'envoi et enfin un avatar permettant d'identifier l'envoyeur d'un simple coup d'oeil. L'image correspondant au contact, doit porter son nom et être au format JPG. Elle doit se trouver dans un dossier "Images".

Un exemple d'affichage possible

Voici un affichage possible, que je mets à disposition. Il est censé se rapprocher de ce que l'on peut trouver dans l'application "Messages" du terminal Android HTC Hero.