mercredi 20 mai 2009

Comment aider un développeur d'application Android à déboguer son application ?

Vous ne le savez peut-être pas, mais vous pouvez être très utile pour remonter des bugs aux développeurs d'applications Android.

Pour cela vous avez besoin de :

  • Un téléphone Android
  • Un cable USB
  • Un ordinateur
  • Une application qui crash

Voici la démarche :

  1. Installez le SDK Android sur votre ordinateur.
  2. Installez le pilote USB présent dans le répertoire "usb_driver" du SDK.
  3. Allez dans la rubrique "Application" des paramètres de votre téléphone et activez l'option "Développement -> Débogage USB"
  4. Connectez le téléphone à votre ordinateur en utilisant le cable USB.
  5. Lancez l'outil DDMS présent dans le répertoire "tools" du SDK.
  6. Vous devriez voir apparaitre votre téléphone parmi les terminaux détectés par l'outil.
  7. Cliquez sur le téléphone, des logs devraient apparaitre dans la zone de logs.
  8. Lancez l'application instable et essayez de reproduire l'erreur que vous avez détectée.
  9. Copiez les logs et envoyez les au développeur de l'application.

debug_android.png

jeudi 14 mai 2009

Concours SFR Android : M-SOS remporte le second prix !

C'est avec joie que je vous annonce que j'ai gagné la seconde place du concours Android organisé par SFR.

ludo_cheque_android.jpg

Mon application M-SOS a été très appréciée du jury SFR.

Je tiens à remercier :

  • le jury du concours pour son enthousiasme, ses idées.
  • tous les participants du concours qui ont apporté des idées d'applications mobiles.
  • tous les blogueurs qui ont soutenu l'application M-SOS.
  • toutes les personnes qui m'ont envoyé des messages d'encouragement et beaucoup d'idées pour étoffer cette application mobile qui sera diffusée gratuitement sur l'android Market très prochainement.
  • Rabii Mouali pour son implication dans le projet et le développement du client M-SOS pour iPhone et Windows mobile.
  • Spawnrider pour les photos de la soirée

Et bien sur ma fiancée, qui a réussi à supporter mes longues heures d'absence ;-)

Une version Beta de l'application sera en ligne d'ici une à deux semaines, la version finalisée est prévue pour fin juin.

Voici la vidéo de l'application développée pour le concours :

Ils parlent du concours :

lundi 11 mai 2009

SDK Android vs SDK iPhone

google_android_logo.jpg

Pour vous donner une idée rapide sur les deux SDK (iPhone & Android), voici quelques exemples de code repris de mon précédent article :

Connaitre le statut du GPS :

Android

public boolean isGpsEnabled(LocationManager lm){
   List<String> locationProvidersEnabled = lm.getProviders(true);
   for (Iterator<String> iterator = locationProvidersEnabled.iterator(); iterator.hasNext();) {
       String provideName = iterator.next();
        if (LocationManager.GPS_PROVIDER.equals(provideName)) return true;
   }
   return false;
}

iPhone

CLLocationManager *locationManager = [[[CLLocationManager alloc] init] autorelease];
if(locationManager.locationServicesEnabled)...

Envoyer un SMS :

Android

String message =  "Mon message";
String phoneNumber = "+3361234569";
PendingIntent pi = PendingIntent.getActivity(context, 0, new Intent(context, MyActivity.class), 0);               
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message.toString(), pi, null);

iPhone

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://3361234569"]];

Sur iPhone, il n'est pas possible d'envoyer un SMS de manière automatique, ce code ouvre seulement l'éditeur.

Composer un numéro :

String phoneNumber = "+3361234569";
Intent itent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneNumber));
startActivity(itent);

iPhone

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://+3361234569"]];

Lire MP3 :

Android

Fichier bip.mp3 stocké dans le répertoire "/res/raw" de l'application Android

MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.bip);
mp.start();

iPhone

NSString *path = [[NSBundle mainBundle] pathForResource:@"ZZZZ" ofType:@"mp3"];
AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];

Merci à Rabii pour les exemples iPhone.

samedi 9 mai 2009

SDK Android : 5 exemples de code très utiles

google_android_logo.jpg

L'histoire de montrer que le SDK Android est accessible à tous, voici 5 exemples de code Java qui interagit avec les fonctions importantes du téléphone (SMS, audio, appels, localisation).

Connaitre le statut du GPS :

/**
 * @param lm The Location Manager
 * @return true if the GPS is enabled
 */

public boolean isGpsEnabled(LocationManager lm){
   List<String> locationProvidersEnabled = lm.getProviders(true);
   for (Iterator<String> iterator = locationProvidersEnabled.iterator(); iterator.hasNext();) {
       String provideName = iterator.next();
        if (LocationManager.GPS_PROVIDER.equals(provideName)) return true;
   }
   return false;
}

Envoyer un SMS :

String message =  "Mon message";
String phoneNumber = "+3361234569";
PendingIntent pi = PendingIntent.getActivity(context, 0, new Intent(context, MyActivity.class), 0);               
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message.toString(), pi, null);

Composer un numéro :

String phoneNumber = "+3361234569";
Intent itent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneNumber));
startActivity(itent);

Lire MP3 (bip.mp3) stocké dans le répertoire "/res/raw" de l'application :

MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.bip);
mp.start();

Activer les speakers du téléphone :

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(true);

N'oubliez pas d'ajouter les bonnes permissions dans le fichier manifest ;-)

Si vous avez la moindre question n'hésitez pas à poster un commentaire.

HTC Dream Orange : Une mise à jour du firmware est disponible

logo_orange.gif

Orange vient de mettre en ligne depuis quelques jours une mise à jour du firmware du HTC Dream. Il ne s'agit pas du très attendu Cupcake, mais d'un premier correctif pour les deux problèmes majeurs du téléphone :

  • Le dysfonctionnement de la synchronisation Google calendar et Gmail.
  • L'oubli des caractères apostrophe et guillemets.

Le correctif est téléchargeable depuis le portail Tous les Mobiles d'Orange. Pour mettre à jour son téléphone, il suffit d'utiliser le câble USB et de lancer l'exécutable de mise à jour.

Notez que la mise à jour efface tous les contacts et toutes les applications téléchargées. Il s'agit d'un réel formatage de la ROM du téléphone.


Qu'est-ce qu'apporte cette mise à jour ?

1) Les caractères apostrophe et guillemets fonctionnent, il suffit pour cela d'utiliser la touche ALT+T et ALT+Y pour les utiliser.

android_accents.png

2) La synchronisation des contacts, de Gmail et de Google Calendar fonctionne correctement.

android_synchro.png

3) L'application Google Talk est activée, il est possible de contacter ses contacts via Google Talk directement depuis le carnet d'adresses. Les personnes peuvent vous envoyer des messages Gtalk même quand le téléphone n'a pas l'application Gtalk de lancée, un service fonctionnant en fond de tâche peut vous notifier dès lors de la réception d'un nouveau message.

android_contacts.png

Maj Dream
View more presentations from marfab.

mardi 28 avril 2009

Android : Les 5 applications indispensables

Voici les 5 applications que j'utilise le plus depuis que j'utilise un HTC Dream :


android_facebook_sync.png Facebook Sync est une application très simple qui permet de synchroniser les avatars de vos contacts sur Facebook avec les avatars de votre carnet d'adresse dans votre téléphone. La synchronisation se base sur le nom et le prénom de vos contacts pour faire la correspondance entre Facebook et votre carnet d'adresse.


android_shazam.png Shazam est capable de reconnaitre le titre d'une chanson rien qu'en rapprochant votre téléphone d'une source de musique. Tout simplement excellent !


android_my_tracks.png My Tracks est une application indispensable pour vos promenades, My tracks trace vos parcours, votre vitesse, votre altitude ... Vous pouvez ensuite partager les données récoltées avec vos amis et les exporter sur Google Docs ou votre compte Google Maps.


android_buddymob.png BuddyMob est une application qui mélange positionnement, microblogging et chat. Il vous permet de faire de nouvelles rencontres et de rester en contact avec vos amis. Lorsque l'un de vos amis se trouve à proximité de vous, le téléphone se met à vibrer pour vous prévenir de sa présence.


android_twidroid.png Twidroid est l'application par excellence qui permet de Twitter depuis son téléphone mobile. Twidroid reste en contact permanent avec votre sphère Twitter. Twidroid vous permet de recevoir des notifications directement sur votre téléphone, lors de la réception d'un reply ou d'un message privé sur Twitter.


android_parallel_kingdom.png Je termine cet article avec Parallel Kingdom, le premier MMTRG disponible sur iPhone et Android. Vous remarquerez que je me suis fait voler mes arbres depuis mon dernier article concernant Parallel Kingdom ;-(

S.O.S : Ma première application Android

sfrjtd.png

Je me suis finalement décidé à participer au concours SFR de développement d'application Android :

http://www.sfrjtd.fr/content/sos

"S.O.S" est une application citoyenne qui a comme seul but d'aider à sauver des vies humaines.

Depuis l'apparition des premiers téléphones portables sur le marché, il est aujourd'hui beaucoup plus rapide d'alerter les secours qu'autrefois, cependant nous pouvons constater :

  • Qu'il n'est pas simple pour une personne âgée ou un enfant d'appeler les secours, le numéro 112 n'est pas connu de tous et les numéros d'appel dans les pays étrangers autres qu'en Europe le sont encore moins.
  • Quand on ne connait pas les lieux, il n'est pas toujours simple de donner aux secours l'adresse exacte où l'on se situe.
  • Quand on est seul, il n'est pas simple d'appeler du secours ou d'obtenir un défibrillateur.
  • En cas d'incendie, il n'est pas simple d'alerter les personnes à proximité pour évacuer les lieux.

L'objectif de l'application "SOS" est de :

  • Fournir une interface simple pour contacter les secours rapidement. On ne se souvient jamais des numéros à appeler en cas d'urgence, en fonction du pays dans lequel on se trouve et en fonction du type de secours demandé, un numéro d'appel est proposé.
  • Géolocaliser l'accident afin de pouvoir aider les secours à localiser précisément l'accident pour qu'il puissent intervenir rapidement.
  • Alerter automatiquement les personnes à proximité de l'accident via une notification pour sortir de l'immeuble s'il s'agit d'un incendie, ou d'intervenir sur le lieu de l'accident si la personne alertée est secouriste.
  • Visualiser rapidement la liste des endroits à proximité où il est possible d'obtenir un défibrillateur .

Un dashboard expérimental affichant toutes les alertes envoyées est disponible ici : http://www.m-sos.com/

lundi 20 avril 2009

"Usefull Switchers" sur Android bientôt compatible avec le HTC Dream Orange

J'ai une bonne nouvelle à annoncer aux utilisateurs du HTC Dream Orange qui rêvent de pouvoir utiliser l'application "Usefull Switchers" sur leur téléphone. Pour rappel, "Usefull Switchers" est une petite application qui facilite l'accès aux paramètres important du téléphone : mute, activation du GPS, Wifi, Bluetooth ....

usefulswitchers.png

Je viens de faire du debugging de l'application et j'ai remonté l'erreur bloquante qui faisait que l'application ne fonctionnait pas sur le HTC Dream d'Orange. Maxim Yudin, l'auteur de l'application, devrait bientôt me fournir l'application patchée pour que je test la correction sur le HTC Dream Orange.

Ce n'est plus qu'une question d'heures avant de voir une version de cette application compatible avec l'HTC Dream Orange sur l'Android Market.

- page 1 de 3