samedi 19 novembre 2011

Problème récurrent "resources.ap_ does not exist". => Solution.

Je suis confronté à un problème qui part et reviens depuis quelques temps. En recherchant sur le net je m'aperçois que le problème est courant mais que personne n'arrive à résoudre le problème sur les multiples forum d'entraide.

Descriptif du probleme
En changeant recemment de version d'Eclipse 3.5 => 3.7 tout fonctionne correctement, puis subitement sur un malheureux refresh l'erreur "resources.ap_ does not exist" apparaît: impossible à faire disparaitre.

Afin de corriger ce probleme vous essaierais toute la panoplie d'actions:

  • Refresh,
  • forcer le build
  • relancer eclipse
  • changer de jdk
  • demander à eclipse de "corriger les properties android"
  • etc...
Rien n'y fait, l'erreur persiste et ça peut durer des heures à s'arracher les cheveux et pendant on peut du temps de travail.

Solution
Je viens de trouver une solution après avoir lu une dizaine (ou bcp plus) de forum et tatonné dans mon coin.

Preferences  > Android  > Build  >  Build Output   modifier "Verbose" par "Normal"

En revenant sur verbose l'erreur réapparaît.
Cette solution fonctionne pour moi dans 100% du temps.

mercredi 18 mai 2011

Mecanisme de persistance des données par Preference

Petit billet à destination des developpeurs qui cherchent à sauvegarder l'état d'une activité sans vouloir pour autant mettre en place un mécanisme compliqué comme une base de donnée embarquée (comme sqlite).

La documentation officielle est assez pauvre en exemple, j'espere que les quelques lignes ci-dessous pourront vous aider.


Google met à disposition des développeurs plusieurs solutions à travers les API Android:
  • L'objet Bundle,
  • le mécanisme des préférences
  • et (solution exclue pour aujourd'hui) la base de donnée intégrée.
La solution la plus simple celle du Bundle consiste à implémenter la méthode onSaveInstanceState. Cette méthode de la classe mère Activity en apparence simple pose pas mal de problemes. Cette méthode n'est pas systématiquement appelé et des pertes d'informations (non sauvegardées peuvent avoir lieu).

Une solution simple  à mettre en place est d'utiliser le mécanisme des préférences pour une persistance gérée nativement par Android.

Vous trouverez ci dessous un code fonctionnel permettant de voir concrètement comment gérer l'objet (SharedPreferences ) permettant la sauvegarder et le restore des informations.





========================================

package com.pmedina.ballocation;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;

/**
 * @author pmedina
 */
public class BalLocationActivity extends Activity {
      String adresse;  // valeur que nous voulons persister et retrouver après la reliance de l’application
      SharedPreferences shared =  null;
     
      @Override
      public void onCreate(final Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // Restaure les valeurs sauvegardées lors de la derniere execution de l’appli
            shared = PreferenceManager.getDefaultSharedPreferences(this);
            adresse = restoreState("adresse");
             … faites vos traitements ici …
       Avant d’appeler un startActivity(…,…) pensez à appeler la fonction saveState() autant de fois que necessaire.
      }

      public void saveState(String key, String value) {
            SharedPreferences.Editor editor = null;
            editor = shared.edit(); // initialisation
            editor.putString(key, value);
            editor.commit();
      }
      public String restoreState(String key) {
            return shared.getString(key, "Saisissez une adresse");
      }
}

Applications dans le magazine "Mobiles Magazine" - Les meilleurres Applis

Le mois dernier c'était dans Mobile Passion. Ce mois ci j'ai deux de mes applications qui paraissent dans le magazine:  Mobiles Magazine.
Ces applications sont :
Un grand merci à Laurent (webmaster du site android-software.fr) pour avoir sélectionné mes applications.





mardi 3 mai 2011

Applications dans le magazine "Mobile PASSION" hors-serie de mai

Ce mois ci on pourra trouver 3 de mes applications dans le Hors série (HS) du magazine "Mobile Passion".

La couverture du HS:

Présentation de ma toute première application, (page 100) la localisation des boites aux lettres:



Les stations de taxi(page 100):
 Et la derniere, les services nocturnes ouverts la nuit (tabacs, urgences, boulangeries, etc...) (page 184)


En esperant que ces articles soient les premiers d'une longue série :-)


PS: Vous pouvez avoir accés à l'intégralité des applications en cliquant ici.

samedi 15 janvier 2011

Dev Android: ActivityGroup la solution pour enchainer plusieurs Acivities dans un TabHost

La problématique est simple: vous avez besoin d'avoir dans votre application des Onglets. Chaque onglet contenant une activité.
Quand dans un onglet vous voulez enchainer les écrans, vous allez lancer un intent sous la forme: startActivity(Intent intent)

Cet appel fera disparaitre l'ensemble des onglets pour afficher la nouvelle activité en plein écran. Et là commence une longue recherche sur google pour réussir à enchainer les activités dans un onglet:
  • rien ou pas grand chose dans la doc officielle,
  • sur les forums une pléiade de gens ayant ce problème, mais pas une seule réponse
Je suis tombé sur un site qui peut vous interresser si vous avez le même probleme sur le  blog d'un developpeur:
Experience multiple android activities
 J'espere que ça pourrait vous aider.
Bonne journée,




dimanche 2 janvier 2011

Partage de votre connexion 3G en wifi

Aprés avoir rooté votre terminal Android, il est possible d'installer certaines applications permettant de partager sa connexion 3G en Wifi.
Votre telephone deviendra un hotspot wifi.

Une fois que vous aurez rooté votre portable allez sur le market android et cherchez par mot clé "tethering".

++

Root de votre Nexus One

Vous pouvez en suivant le lien accéder à une page qui va décrire la procédure pour rooter vos N1.
Rooter votre N1 vous permettra diverses opérations normalement bloquées:
  • overclocker votre machine, 
  • Partager votre connexion 3G en faisant de votre portable un hotspot wifi
  • Etc...

samedi 1 janvier 2011

Livre blanc sur le théme: Restituer, Analyser et Piloter : RESTITUER, ANALYSER ET PILOTER : EVALUER LES OPPORTUNITES OPEN SOURCE

public que je pense intéressé par ce document
Connaissance avancée du SI et des processus de travail dans une entreprise.

La société Open Bizz, une SSLL française a rédigé un livre blanc sur la Business Intelligence (BI) intéressant sur le théme des processus et outils permettant dans les entreprises aux decideurs, manager  de:
  • restituer l'activité, 
  • analyser divers critéres (performances, paramétres et mécanismes influant sur une activité) grâce à des moteurs multi dimensionnels (OLAP)
  • piloter l'activité. Plusieurs niveaux dans le pilotage:
    • Pilotage au niveau du delivery opérationnels, 
    • Pilotage plus haut niveau grâce à l'analyse d'indicateurs clés en regard des objectifs stratégique que peut afficher l'entreprise.
Dans le cadre de livre blanc, divers outils open source sont présentés:
  • nom et caractéristiques,
  • public visé,
  • pré requis technique ou autre compétence d'analyse,
  • description succincte de mise en œuvre et d'usage,
  • Licence d'exploitation.
Ce livre blanc est très accessible dans la manière dont il est écrit, mais certaines notions manipulées peuvent paraitre ésotérique aux novices.

Bonne lecture

Bonne année 2011


En vous souhaitant pour cette nouvelle plein de bonnes choses:
de la santé pour tous ainsi qu'à vos familles, du succés dans les amours et le travail et que 2011 soit une bonne année!!

vendredi 31 décembre 2010

Redaction de tutorials pour le developpement Android/Java/etc...

Je voudrais rediger quelques tutorials pour les developpeurs en Herbe.
Ces tutorials seront d'un niveau debutant à plus avancé.
Dans un premier temps je compte rediger des tutorial suivants:
  • Premiere application Android ( sorte d'Hello World) pour poser les bases,
  • creation d'une interface graphique avec les interactions
  • Création d'un MapView, obtention de la key d'exploitation à partir du site de google, etc...
  • Developpement de calques pour le MapView,
  • Connexion et exploitation d'un service renvoyant des resultats au format JSON,
  • Connexion et exploitation d'un service renvoyant des resultats au format XML,
  •  Implémentation de la réalité augmenté, en utilisant des API tierces (tel que WIKITUDE),
  • Implémentation de la réalité augmenté en partant de zéro,
  • Communication avec les sensors (GPS, temperature, gyroscope, etc...)
N'hésitez pas à me demander d'autres sujets.

Mon réseau pro.



jeudi 30 décembre 2010

Bal Location: location des boites aux lettres en France

Ce soir je vous présente ma première application publié sur l'application store (market) d'Android: Bal Location.

J'ai developpé cette application pour répondre à une problématique à laquelle j'etais souvent confronté  quand j'avais entre les mains: savoir avec certitude où se trouve la boite aux lettre la plus proche et quand est ce que le facteur levait le courrier.

Les fonctionnalités

L'application permet de:
  • Visualiser sur une carte l'emplacement exact des boites aux lettres,
  • Naviguer jusqu'à la bal la plus proche à l'aide des fonctionnalités natives du terminal Android (Google Maps ou Google navigation),
  • Visualiser à travers une interface de Réalité Augmentée (intégration de l'API de Wikitude),
  • Possibilité de parametrer la vue sous forme de carte (map, satellite, street view),
Captures d'Ecran

Le Splash Screen



Le choix du mode de localisation:






L'affichage des boites aux lettres:




 L'icône representant la boite aux lettres est de differentes couleus selon l'heure de levée du courrier:

Levée du courrier avant midi


Levée du courrier entre midi et 17h

Levée le soir à partir de 17h

Caractéristiques de la BAL
Quand l'utilisateur clique sur une BAL, une fenêtre s'ouvre et affiche les caractéristques de celle ci.
L'utilisateur peut decider de demander au programme de calculer le chemin (le plus rapide, le plus court) et par le mode qu'il souhaite.







Ecran des préférences.





L'option de navigation





La réalité augmentée

La réalité augmenté permet en filmant avec la camera du téléphone de voir apparaitre des icones superposées à l'image réelle dans la direction où se trouve effectivement la BAL. Il est possible de donner une distance maximale pour ne voir que les bals les plus proches.
Dans le cadre de développement j'ai utilisé l'API mise à disposition des développeurs par Wikitude. Vous devrez installer à partir du market la version gratuite sur votre portable si vous voulez beneficier de cette fonctionnalité.

J'espére que vous apprécierais cette petite application qui peut rendre quelques services quand on a une enveloppe entre les mains ;-)

N'hésitez pas à me remonter les Bugs ou demandes d'ajout de fonctionnalités.

Prix: Gratuithttp://www.blogger.com/post-create.g?blogID=2331097780434538890


Lien Market: market://search?q=pname:com.pmedina.ballocation