Tag Archives: Développement

Eclipse : génération automatique propre des accesseurs

Si vous avez l’habitude de développer des projets Android sur Eclipse, vous avez surement dû utiliser la fonctionnalité permettant de générer automatiquement les accesseurs (méthodes get et set) d’une variable d’instance privée.

Si on respecte la syntaxe habituelle Android, le nom de la variable commence par un “m” (exemple : private Person mPerson). Les accesseurs générés s’appellent alors : getmPerson( ) et setmPerson( ). Ca serait beaucoup mieux si on pouvait avoir comme noms automatiques : getPerson( ) et setPerson( ).

Et bien c’est possible ! Il suffit pour cela de faire la manipulation suivante :

  • Aller dans le menu Window > Preferences > Java > Code Style. On arrive à l’interface suivante :

  • Il suffit ensuite de donner le préfixe utilisé pour le nommage de nos variables : à savoir “m” pour les variables d’instance et “s” pour les variables statiques :

Si maintenant on génère les accesseurs de notre variable d’instance mPerson, les noms générés sont : getPerson( ) et setPerson( ). Victoire !

Google s’attaque au piratage des applications payantes

Un des problèmes des applications payantes sur Android est leur grande facilité à être piratée : en effet une fois qu’une personne à installer l’application, il suffit de copier le fichier APK depuis le téléphone vers un autre terminal et l’installation se fait sans problème.

Désormais la protection de ses applications payantes sera possible via l’utilisation d’une librairie fournie par Google utilisable dans toutes les applications à partir d’Android 1.5

A l’exécution de l’application contenant cette librairie (nommée LVL pour License Validation Library), l’application va dialoguer avec le serveur de licence d’Android Market pour vérifier que le compte Google de l’utilisateur a bien achetée l’application. Une fois l’information reçue que l’utilisateur pirate l’application, le développeur est libre soit de mettre un message d’avertissement en laissant passer cela une fois soit d’interdire complètement d’utiliser l’application.

Au niveau fonctionnement technique :

  • Ce mécanisme fonctionne à partir d’Android 1.5 ce qui va permettre de l’intégrer dans la plupart des applications existantes
  • Les échanges sont sécurisés via une paire de clés publique/privé. Les requêtes envoyés au serveur sont signés avec la clé publique et les réponses avec la clé privée.
  • La discussion entre l’application et le serveur de licences ne se fait pas directement mais via l’Android Market. Cela va permettre d’éviter une partie des attaques du type Man-In-The-Middle
  • L’installation se fait via l’Android SDK and AVD Manager sous la forme d’un nouvel élément à télécharger : “Market Licensing package, revision 1″

  • Un exemple est fourni sous la forme d’un projet Android. Ce projet inclut également les tests unitaires.
  • Une interface a été rajoutée dans la zone publication d’Android Market pour gérer les clés privés/publiques. Il est possible d’avoir à la fois des clés pour le développement et pour la production. Attention à bien changer la clé au moment de publier l’application.

De façon évidente, il ne va pas être possible de contacter le serveur lorsque le terminal de l’utilisateur n’est pas connecté au réseau. Il va falloir donc faire un choix pour gérer ce cas-là : soit forcer l’utilisateur a se connecter pour valider l’application à chaque lancement avec toutes les contraintes que cela implique, soit garder en cache l’état de validation (LVL propose des modules déjà construits pour gérer le cache des licences)

Le but à terme est de remplacer le système de protection de copie actuellement présent qui n’était pas très performant.

Plus d’informations disponibles : http://developer.android.com/guide/publishing/licensing.html (en anglais)

Nouveau niveau de Log

Froyo - Log error WTF

On le savait déjà mais les développeurs de chez Google sont à la fois des comiques et des geeks !

On a donc un nouveau niveau de log qui permet de remonter un message dans le cas d’une “erreur terrible” comme le dit la description. Bizarrement l’acronyme de “What a Terrible Feature” marche aussi pour l’expression “What the fuck” (ou en français “Mais c’est quoi ce binz ?” histoire de rester poli).

Page optimized by WP Minify WordPress Plugin