Accueil > Code > Premières impressions sur le développement Android

Premières impressions sur le développement Android

lundi 8 novembre 2010, par Nicolas

Possesseur d’un téléphone Android depuis quelques semaines, je ne pouvais évidemment pas ne pas essayer de programmer des applications pour.

Introduction

Je dois dire que je suis fan de la plateforme et de l’environnement. Pouvoir programmer en Java [1] est très agréable, surtout avec un bon IDE et l’autocomplétion.

Le typage fort est vraiment quelque chose que j’apprécie, ainsi que la compilation permettant de détecter des erreurs avant exécution.

Les documentations Google sont assez claires, et les nombreux exemples, sur les domaines que j’ai testés [2] en tout cas, aident à comprendre la philosophie.

Mon approche a été d’écrire une application simple (liste de choses à faire), puis d’adapter au fur et à mesure que je comprenais comment utiliser d’autres méthodes ou fonctions qui semblent recommandées : utilisation des layouts pour les menus contextuels ainsi que le menu d’options, y compris les sous-menus ; gestion du changement d’orientation ; notifications via Toast ; numéro de version ; gestion d’une checkbox dans une liste.

Points positifs et négatifs

Globalement les librairies sont bien conçues. Le système d’Intent permet de bien séparer le code en modules indépendants, ayant des fonctions bien spécifiques.

Une classe comme ContentProvider permet de rapidement accéder à des bases de données SQLite, et permet là aussi de séparer les modules.

De même la séparation entre layouts et code est agréable.

Bien sûr cela demande de renseigner pas mal de fichiers XML [3], mais il existe pas mal d’exemples dans les documentations Google, ce qui rend le tout assez simple au final.

L’émulateur fourni par Google est bien conçu, même s’il plante parfois [4]. Par contre j’ai besoin de lancer adb en tant que root pour qu’il détecte correctement mon téléphone, sans doute une histoire de droits. Ha, et l’émulateur pour la version 2.1 est en mode d’entrée chinois par défaut, ne me demandez pas pourquoi.

Une chose amusante sur les librairies Android est que certaines variables ont des noms totalement génériques, comme arg0, arg1, sans explication particulière de la signification.

Un autre point que je trouve étrange est l’absence de fonctions telles qu’un dialogue d’entrée de texte simple. AlertBuilder permet cela avec un layout spécifique, cependant.

Et, même si ce n’est pas lié à Android mais au JDK je pense, je trouve étonnant qu’une méthode comme Integer.parse() lance une exception dérivant de RuntimeException, qui peut doit être ignorée alors que dans ce cas cela fait simplement planter l’application si l’utilisateur entre un nombre invalide.

Pouvoir débugger l’application sur l’émulateur ou le téléphone lui-même est un point très positif, même s’il peut sembler naturel d’avoir cette fonction.

Divers

Le plugin NBAndroid aide bien pour configurer le projet de base, créant les fichiers pour ant, et simplifiant le déploiement sur l’émulateur ou un téléphone connecté via USB. Ceci inclut la génération du paquet, sa signature [5].

L’environnement que j’ai utilisé est le suivant :


[1Je ne prétends pas être expert dans ce langage, mais en tout cas j’aime l’utiliser.

[2Pas très nombreux pour l’instant, je l’admets.

[3Le plugin NBAndroid n’aide pas trop pour cela malheureusement ; il n’y a notamment pas d’éditeur graphique de layout.

[4Une façon simple est d’envoyer des événements bizarres via la commande adb.

[5Peut-être pas adaptée pour l’Android Market, mais chaque chose en son temps

[6Je n’ai pas réussi à télécharger la dernière version via le site web, par contre en utilisant l’Upgrade Center de NetBeans et lui donnant http://kenai.com/projects/nbandroid/downloads/download/updates.xml comme lien la version la plus récente a été installée.