SlideShare uma empresa Scribd logo
1 de 35
Trucs & Astuces
pour éviter les mauvaises surprises!




       Thierry-Dimitri Roy
       7 Décembre 2011
La Presse Hockey         La Presse Mobile
5000+ Téléchargements   10 000+ Téléchargements
“Belle application, mais CPU élevé Prend tout le temps
  environ 15% de mon CPU dual core 1.2Ghz. Je ne sais pas
   si c'est la synchronisation, mais c'est louche. Sinon belle
           application.” - Commentaire sur le Market
   La Presse Hockey                    La Presse Mobile
5000+ Téléchargements              10 000+ Téléchargements
Jenkins
Jenkins

• Unit   tests avec Robotium
Jenkins

• Unit   tests avec Robotium

• Release

  • Proguard, Signed,Jaraligned

  • Git Tag

  • Dépose    dans Dropbox
Outils
Outils
• Télécharger   le code source
 d’Android
Outils
• Télécharger   le code source
 d’Android

• RoboGuice
Outils
• Télécharger   le code source
 d’Android

• RoboGuice

• Findbugs
Outils
• Télécharger   le code source
 d’Android

• RoboGuice

• Findbugs

• Superoneclick

 • root   et drivers
Outils
• Télécharger   le code source
 d’Android

• RoboGuice

• Findbugs

• Superoneclick

 • root    et drivers

• Pensezà utiliser des fragments
 dès maintenant
Outils
Outils



• Écran   caché
Tests automatisés
Tests automatisés

• Robotium   (lent)
Tests automatisés

• Robotium    (lent)

• Delegate   pattern avec JUnit

 • La logique qui se trouve
   dans Activity peut être
   facilement réutilisée par
   TabActivity
Qualité
Qualité

• Monkey   tests
Qualité

• Monkey   tests
 • Très
      bon pour les
   “memory leaks”
Qualité

• Monkey   tests
 • Très
      bon pour les
   “memory leaks”
 • Maiscelles-ci
  existeront toujours...
Qualité

• Monkey   tests
 • Très
      bon pour les
   “memory leaks”
 • Maiscelles-ci
  existeront toujours...
 • Activez   StrictMode
Qualité

• Monkey   tests
 • Très
      bon pour les
   “memory leaks”
 • Maiscelles-ci
  existeront toujours...
 • Activez   StrictMode
 • Débuggez  ensuite
   votre app pour voir les
   threads non terminées
Qualité
Qualité
• ACRA
Qualité
• ACRA

 • Intégrer   BugSense
Qualité
• ACRA

 • Intégrer   BugSense

 • Utilisez   une variable
  custom
Qualité
Qualité

• Commentaires   directement
 dans l’app

 • Meilleurs communication
   avec l’usager

 • Insérezle rapport ACRA
   en champs cachés
Performance
Performance


• layoutops
Performance


• layoutops

• Le
   moins possible de log (ou utilisez
 Roboguice “Ln”)
Performance


• layoutops

• Le
   moins possible de log (ou utilisez
 Roboguice “Ln”)

• Lemoins possible de création d’objets
 dans une ListView
Merci
Liens
•   La Presse Mobile: https://market.android.com/details?id=ca.lapresse.android.lapressemobile


•   La Presse Hockey: https://market.android.com/details?id=ca.lapresse.android.lapressehockey


•   RoboGuice: https://code.google.com/p/roboguice/


•   Robotium: https://code.google.com/p/robotium/


•   SuperOneClick: http://shortfuse.org/


•   Monkey Tests: http://developer.android.com/guide/developing/tools/monkey.html


•   ACRA: https://code.google.com/p/acra/


•   BugSense: http://www.bugsense.com/


•   Thierry-Dimitri Roy sur Google Plus: https://plus.google.com/105344175486242358933

Mais conteúdo relacionado

Semelhante a Trucs et astuces sur le dévelopment Android

Les Cast Codeurs Podcast 68 - Devoxx 2012
Les Cast Codeurs Podcast 68 - Devoxx 2012Les Cast Codeurs Podcast 68 - Devoxx 2012
Les Cast Codeurs Podcast 68 - Devoxx 2012emmanuelbernard
 
Model de qualité @ msdevmtl
Model de qualité @ msdevmtlModel de qualité @ msdevmtl
Model de qualité @ msdevmtlMSDEVMTL
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteStephane Couzinier
 
Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !Guillaume Rouchon
 
Devoxx java script-1280-720
Devoxx java script-1280-720Devoxx java script-1280-720
Devoxx java script-1280-720Romain Linsolas
 
Réussir son lancement mobile
Réussir son lancement mobileRéussir son lancement mobile
Réussir son lancement mobileJérémie Clévy
 
AT2010 Principes Integration Continue
AT2010 Principes Integration ContinueAT2010 Principes Integration Continue
AT2010 Principes Integration ContinueNormandy JUG
 
Paris Test conf - Kevin Roulleau - E2E tests on mobile native app, a successf...
Paris Test conf - Kevin Roulleau - E2E tests on mobile native app, a successf...Paris Test conf - Kevin Roulleau - E2E tests on mobile native app, a successf...
Paris Test conf - Kevin Roulleau - E2E tests on mobile native app, a successf...kevinroulleau
 
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 20167 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016Sébastien Le Marchand
 
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data! par Guillaume...
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data!  par Guillaume...GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data!  par Guillaume...
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data! par Guillaume...AZUG FR
 
Pas d'agilité sans qualité
Pas d'agilité sans qualitéPas d'agilité sans qualité
Pas d'agilité sans qualitéAgile Montréal
 
Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projetjollivetc
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes AgilesIppon
 
Techniques d'accélération des pages web
Techniques d'accélération des pages webTechniques d'accélération des pages web
Techniques d'accélération des pages webJean-Pierre Vincent
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logicielsSylvain Leroy
 
Techniques d’accélération des pages Web
Techniques d’accélération des pages WebTechniques d’accélération des pages Web
Techniques d’accélération des pages WebMicrosoft
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 

Semelhante a Trucs et astuces sur le dévelopment Android (20)

Android 6 marshmallow
Android 6 marshmallowAndroid 6 marshmallow
Android 6 marshmallow
 
Les Cast Codeurs Podcast 68 - Devoxx 2012
Les Cast Codeurs Podcast 68 - Devoxx 2012Les Cast Codeurs Podcast 68 - Devoxx 2012
Les Cast Codeurs Podcast 68 - Devoxx 2012
 
La performance sur mobile
La performance sur mobileLa performance sur mobile
La performance sur mobile
 
Model de qualité @ msdevmtl
Model de qualité @ msdevmtlModel de qualité @ msdevmtl
Model de qualité @ msdevmtl
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverte
 
Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !
 
Devoxx java script-1280-720
Devoxx java script-1280-720Devoxx java script-1280-720
Devoxx java script-1280-720
 
Réussir son lancement mobile
Réussir son lancement mobileRéussir son lancement mobile
Réussir son lancement mobile
 
AT2010 Principes Integration Continue
AT2010 Principes Integration ContinueAT2010 Principes Integration Continue
AT2010 Principes Integration Continue
 
Paris Test conf - Kevin Roulleau - E2E tests on mobile native app, a successf...
Paris Test conf - Kevin Roulleau - E2E tests on mobile native app, a successf...Paris Test conf - Kevin Roulleau - E2E tests on mobile native app, a successf...
Paris Test conf - Kevin Roulleau - E2E tests on mobile native app, a successf...
 
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 20167 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
 
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data! par Guillaume...
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data!  par Guillaume...GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data!  par Guillaume...
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data! par Guillaume...
 
Pas d'agilité sans qualité
Pas d'agilité sans qualitéPas d'agilité sans qualité
Pas d'agilité sans qualité
 
Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projet
 
Hands on Sonar
Hands on SonarHands on Sonar
Hands on Sonar
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes Agiles
 
Techniques d'accélération des pages web
Techniques d'accélération des pages webTechniques d'accélération des pages web
Techniques d'accélération des pages web
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
 
Techniques d’accélération des pages Web
Techniques d’accélération des pages WebTechniques d’accélération des pages Web
Techniques d’accélération des pages Web
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 

Trucs et astuces sur le dévelopment Android

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n