Affichage des articles dont le libellé est Android. Afficher tous les articles

15 juin 2016


Installer SonarLint sur Android Studio (IntelliJ)


Android Studio est basé sur l'IDE IntelliJ. La procédure d'installation de plugins est donc la même que sur l'IDE original.
Pour installer SonarLint, il faut se rendre sur l'URL suivante http://www.sonarlint.org/intellij/, qui permet de télécharger le plugin sous forme d'archive.

Une fois téléchargé, il faut l'intégrer à Android Studio. Pour ce faire, il est nécessaire d'effectuer les étapes suivantes :

  1. Se rendre dans File > Settings > Plugins
  2. Séléctionner l'option "Install plugin from disk"
  3. Choisir l'archive du plugin, précédemment téléchargée
  4. Redémarrer Android Studio
SonarLint est activé par défaut et lance une analyse sur une classe dès que son contenu est modifié.


7 juin 2016

ListView et recyclage des view VS coche des checkbox

Ci dessous, le schéma illustrant le recyclage des view d'une ListView sous Android, tiré de l'article suivant :


Parfois, lorsque l'on souhaite désactiver / rendre non clickable certains champs, on applique directement dans la méthode getView() de l'adapter de la listView, la désactivation du champ en question (généralement en se basant sur la position de l'élement dans la liste).
// On souhait desactiver le premier bouton d'une listView
if ((position > 0) {
    viewHolder.unButton.setEnabled(false);
}
Avec cette implémentation, tous les boutons et pas uniquement ceux de la première ligne, seront désactivés.
En effet, la listView recycle chaque item, dans notre cas à travers un objet appelé ViewHolder, afin de ne pas les désérialiser le XML à chaque fois. Le problème vient du fait que le viewHolder est recyclé pour chaque item et donc garde son état précédent (enabled = false). Pour corriger ce problème, il faut gérer à la fois l'activation et la désactivation :

// On souhait desactiver le premier bouton d'une listView
if ((position > 0) {
    viewHolder.unButton.setEnabled(false);
} else {
    viewHolder.unButton.setEnabled(true);
}

3 juin 2016


Installation Android Studio + Gradle + Genymotion


Android Studio


Android Studio est basé sur IntelliJ. Cependant, il est possible d'utiliser les raccourcis clavier d'Eclipse. Pour ce faire, il suffit de se rendre dans File > Settings > Keymap, puis de choisir Eclipse dans la liste déroulante de keymaps.

Genymotion

Afin de télécharger les devices, Genymotion requiert que l'on se connecte avec son compte. Si vous utilisez un proxy, il est nécessaire de renseigner les paramètres de connexion dans Paramètres > Réseau


Gradle

Android Studio intègre par défaut Gradle pour le build de projets Android. Parfois, lorsque que l'accès Internet passe par un proxy, il est nécessaire d'indiquer les paramètres de connexions pour l'ensemble des outils. Si Gradle met beaucoup de temps à builder le projet, il se peut qu'il y ait des problèmes de connexion ou de cache.
Si vous passez par un proxy pour accéder à Internet, modifier le fichier gradle.properties, en ajoutant les lignes suivantes :


systemProp.http.proxyHost=[http proxy name]
systemProp.http.proxyPort=[http proxy port]
systemProp.https.proxyHost=[https proxy name]
systemProp.https.proxyPort=[https proxy port]


Si le problème persiste, suivre les instructions suivantes :
  1. File > Invalidate caches / Restart
  2. Shutdown Android Studio
  3. Remove .gradle folder in the user home directory
  4. Restart Android Studio let it download all the Gradle stuff it needs
  5. Gradle build success !
  6. Rebuild project.... success !