SlideShare une entreprise Scribd logo
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

Contenu connexe

Similaire à Trucs et astuces sur le dévelopment Android

Android 6 marshmallow
Android 6 marshmallowAndroid 6 marshmallow
Android 6 marshmallow
Guillermo Lima
 
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
 
La performance sur mobile
La performance sur mobileLa performance sur mobile
La performance sur mobile
Jean-Pierre Vincent
 
Model de qualité @ msdevmtl
Model de qualité @ msdevmtlModel de qualité @ msdevmtl
Model de qualité @ msdevmtl
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
Stephane 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-720
Romain Linsolas
 
Réussir son lancement mobile
Réussir son lancement mobileRéussir son lancement mobile
Réussir son lancement mobile
Jérémie Clévy
 
AT2010 Principes Integration Continue
AT2010 Principes Integration ContinueAT2010 Principes Integration Continue
AT2010 Principes Integration Continue
Normandy 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 2016
Sé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 projet
jollivetc
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes Agiles
Ippon
 
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
Jean-Pierre Vincent
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
Sylvain 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 Web
Microsoft
 
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
 

Similaire à 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 !
 

Dernier

MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
Horgix
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
AlbertSmithTambwe
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 

Dernier (7)

MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 

Trucs et astuces sur le dévelopment Android

Notes de l'éditeur

  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