Bonnes pratiques développement android

Lu 5897 fois

Bonnes pratiques et méthodes pour le développement sur Android ; Collectées ici et l´ ´ travers différentes conférences, lectures et pratiques du développement android.

 

Transcrip

1. Bonnes pratiques Développement Android Fouomene Pewo Daniel Rene www.freelancertech.net
2. www.facebook.com/pages/FreelancerTech/822357474482862 www.twitter.com/FREELANCERTECH (@FREELANCERTECH) Une équipe d´experts dans leur domaine technologique qui ont décidé de se mettre ensemble pour offrir leurs services en fonction de leurs disponibilités, www.freelancertech.net www.freelancertech.net
3. • Architecture • Nommage • La mémoire • Générale • Librairies • Références Plan www.freelancertech.net
4. www.freelancertech.net Architecture (Structure d'un projet) Projet Ant & Eclipse ADT Gradle & Android Studio [1]
5. Architecture (packages java) Bien packager les sources par type de classe www.freelancertech.net [1]
6. Nommage (Java) • classes, enum, interface sont en CamelCase : MaClasse • Les noms de variables doivent commencer par une minuscule : boutonBleu • Les noms de fonctions doivent être explicites. Nous devons savoir ce que fait une fonction sans même lire le code : afficherListeEtudiantsParNom() • Les variables de type public static final doivent être en majuscules : public static final String MON_NOM_DE_VARIABLE_STATIC_FINAL; • Commenter chaque function, classe, interface avec la notation de la javadoc www.freelancertech.net [2]
7. Nommage (Java) www.freelancertech.net [2]
8. Nommage (Android) • Préfixer le nom du fichier de ressource par le type de layout : activity_main ; fragment_list_etudiant ; item_student_name • Organisation des fichiers XMLs • Un attribut par ligne, indenté d'espaces • android:id toujours en tant que premier attribut • les android:layout_**** toujours en haut après android:id • l'attribut style tout en bas www.freelancertech.net [1]
9. Nommage (Android) Toutes les chaînes de caractères doivent être définies dans le fichier “res/values/strings.x ml” Utiliser l'attribut textAllCaps dans une TextView www.freelancertech.net [1]
10. www.freelancertech.net Nommage (Android) Evitez d'avoir une hiérarchie trop profonde de vues http://stackoverflow.com/questions/2762924/j ava-lang-stackoverflow-error-suspected-too- many-views [1]
11. Nommage (Android) Il ne devrait avoir rien d'autre ´ part des correspondances entre un nom de couleur dans colors.xml Facile de devoir se répéter et il est difficile de changer une couleur de base www.freelancertech.net [1]
12. La mémoire (Java) • Utiliser au maximum les types Primitifs • éviter les effets d´AutoBoxing www.freelancertech.net [3]
13. La mémoire (Java) • Utiliser les SparseArray pour éviter les effets d´AutoBoxing www.freelancertech.net [3]
14. La mémoire (Java) www.freelancertech.net [3]
15. La mémoire (Java) • Eviter les instanciations aux maximums Utiliser les variables statiques www.freelancertech.net [3]
16. www.freelancertech.net La mémoire (Java) • Eviter les instanciations aux maximums • Mettre en Œuvre le Design pattern Object Pool (réutilisation des objets) http://matthieu- brucher.developpez.com/tutor iels/conception/object-Pool/
17. La mémoire (Java) • Eviter les instanciations aux maximums Mettre en Œuvre le Design pattern VIEWHOLDER (réutilisation des objets)
18. La mémoire (Java) • Eviter les instanciations aux maximums Mettre en Œuvre le Design pattern VIEWHOLDER (réutilisation des objets) [3]
19. La mémoire (Java) • Eviter les instanciations aux maximums Mettre en Œuvre le Design pattern VIEWHOLDER (réutilisation des objets) www.freelancertech.net
20. Générales • Toujours avoir des images sous différents formats selon le type d'écran de mobile cible • hdpi • ldpi • mdpi • xhdpi • xxhdpi http://romannurik.github.io/AndroidAssetStudio/ www.freelancertech.net
21. Générales Utiliser des fragments pour représenter une interface graphique www.freelancertech.net
22. Générales • Ne pas bloquer l´UI THREAD www.freelancertech.net [3]
23. www.freelancertech.net Générales • Economie d´image : Draw9Patch SDK sdk/tools
24. Librairies • Gson ( https://github.com/google/gson ) www.freelancertech.net
25. Librairies • Retrofit (http://square.github.io/retrofit/ )
26. Librairies • ActiveAndroid (http://www.activeandroid.com/ ) user.save(); INSERT INTO Users (Nickname, Name,Address, City, PostalCode, Country)VALUES ('Batman','BruceW','Palisades 21','Gotham','40000','USA'); List<User> users = new Select().from(User.class).execute(); SELECT Nickname, Name,Address, City, PostalCode, Country FROM Users; www.freelancertech.net
27. Librairies • Picasso (http://square.github.io/picasso/ ) • Mint Splunk (https://mint.splunk.com/ ) • Doodles Archive Open Source (http://freelancertech.net/index.php/nos- solutions/open-source/doodles-archive-un-socle-technique-android-open-source ) Doodles Archive est notre socle technique Android et Open Source développé en suivant les « Best Practices » du développement mobile de manière général et Android en particulier. Il constitue un bon départ pour les développeurs qui souhaitent se lancer dans le développement des applications mobiles sur système Android, www.freelancertech.net
28. Références • [1] https://github.com/futurice/android-best-practices/blob/master/translations/French/README.fr.md • [2] http://feanorin.developpez.com/tutoriels/android/idiomes/ • [3] https://www.infoq.com/fr/presentations/bonnes-pratiques-developpement-android www.freelancertech.net
29. Questions www.freelancertech.net

Lu 5897 fois