SlideShare une entreprise Scribd logo
1  sur  39
Alex Verdyan
@aexxx
   Build tools
     ant, maven
   Libraries
     Roboguice, retrofit, ormlite, androidannotatation
     s,
   Testing
     Fonemonkey, robolectric, robotium solo
   Stuff
     acra, bugsense,
Pros
  developed by Google (Android tools team)
  Gets all the latest SDK improvements
  Generated from Eclipse (ADT)
Cons
  No dependency management ( needs Ivy)
  Not trivial to contribute (or debug)
  Ant…
   founded by JAYWAY
   developed by the community
   Hosted on github – easy to contribute/debug
   Easy to setup
   Dependency management
     Jars depend on other jars with versions
   Supports
     package (apk/apklib), jar sign, zipalign, proguark,
      native, scala and more
   Runs tests
     start emulator prior to running test
   Use Maven profiles to distinguish dev from release build
   Based on Google Guice
   Simplify your code make it more readable
   Remove boilerplate

   PLUS: You get the power of dependency
    injection (Guice)
     Automatic Injection
     Loose coupling
     Testing with Mocks
   Re-usabale library by Square Inc.
   Interesting stuff
     RestAdapter – abstraction over HTTP for Android
      ▪ Create a Java interface for your services
     ShakeDetector
     QueueFile (for storing a Q on Android filesystem)
   Does all the dirty HTTP work for you
   All calls are Async
     can be used from UI thread w/ callback
   Built-in JSON support

   Uses JdkProxy, Guice and Gson
   Lightweight ORM
   Makes DB interaction more pleasant
   Code more readable
   Mature project
   Good documentation + large community
   Excellent support from the project owner
    Grey Watson http://256.com/gray/
   Provides Android specific annotations to
    make the code even more readable
   Can be integrated with roboguice
   Works by generating code during build
    process
   Relatively new (4-6 month)
    Backed up by commercial firm (Gorilla Logic)
    Record your tests
    Adjust playback speed
    Add conditions
    Generate JUnit from the recording
    Tests can run as plain JUnit (it communicates
     with the app inside emulator)
* very elegant solution for test recording
   Selenium like UI + Functional testing
    framework
   Runs on Emulator/Device
   You can run tests from IDE
   No emulator
   Fast
   Enables TDD
   No mocking framework needed

http://github.com/pivotal/robolectric
   Run tests from IDE
   Very fast
   No emulator
   Intercepts loading of Android classes –
    rewriting their bodies to return null/0/false
   Or forward calls to shadow classes
   Starting new Android project?
   Here’s Intellij project template with configured:
     roboguice
     robolectric
     C2DM
     Android source jars
     Jackson (json parser)
     ….
   https://github.com/pivotal/AndroidIntelliJStarter
   Library that submits crash reports (or
    exceptions) to your
    server / Google spreadsheet / email
   Add logcat and memory usage to your report

   Mature project
   Used by lots of apps (incl. Facebook app)
   OSS
   Bug tracking for mobile
   Realtime crash / bugs analytics
   Search
   Notify users when bug is fixed
   Supports Proguard
   Integrates with ACRA and JIRA
   Post crashes/bugs as tickets in JIRA
   Still in development
   Open source
   Cool features
     Get user feedback
     Reply to user via comment on JIRA issue
     Notify user the crash/bug he reported is fixed
     and more…
Any.DO
Android developer's toolbox

Contenu connexe

Tendances

利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試Jeremy Kao
 
Mobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMichael Palotas
 
Head first android apps dev tools
Head first android apps dev toolsHead first android apps dev tools
Head first android apps dev toolsShaka Huang
 
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...Codemotion
 
Comparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android DevelopmentComparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android DevelopmentWillow Cheng
 
Sakai10 Selenium Workshop
Sakai10 Selenium WorkshopSakai10 Selenium Workshop
Sakai10 Selenium Workshopcoreyjack
 
Continuous Integration for your Android projects
Continuous Integration for your Android projectsContinuous Integration for your Android projects
Continuous Integration for your Android projectsSergii Zhuk
 
Android – As a tool of innovation
Android – As a tool of innovation Android – As a tool of innovation
Android – As a tool of innovation Pallab Sarkar
 
From Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEFrom Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEintelliyole
 
Android Studio vs Eclipse: What are the main differences?
Android Studio vs Eclipse: What are the main differences?Android Studio vs Eclipse: What are the main differences?
Android Studio vs Eclipse: What are the main differences?avocarrot
 
Building Rich Applications with Appcelerator
Building Rich Applications with AppceleratorBuilding Rich Applications with Appcelerator
Building Rich Applications with AppceleratorMatt Raible
 
Eclipse Che : ParisJUG
Eclipse Che : ParisJUGEclipse Che : ParisJUG
Eclipse Che : ParisJUGFlorent BENOIT
 
Setup Build & Deploy with Jenkins CI
Setup Build & Deploy with Jenkins CISetup Build & Deploy with Jenkins CI
Setup Build & Deploy with Jenkins CIwalming
 
Exploring Android Studio
Exploring Android StudioExploring Android Studio
Exploring Android StudioAkshay Chordiya
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With SeleniumJodie Miners
 
Automated Testing Overview
Automated Testing OverviewAutomated Testing Overview
Automated Testing Overviewantsh
 
Android Study Jam - Info Session
Android Study Jam - Info SessionAndroid Study Jam - Info Session
Android Study Jam - Info SessionAITIKDANDAPAT
 
Selendroid in Action
Selendroid in ActionSelendroid in Action
Selendroid in ActionDominik Dary
 

Tendances (20)

利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試
 
Mobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driver
 
Head first android apps dev tools
Head first android apps dev toolsHead first android apps dev tools
Head first android apps dev tools
 
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
 
Selenium
SeleniumSelenium
Selenium
 
Comparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android DevelopmentComparison between Eclipse and Android Studio for Android Development
Comparison between Eclipse and Android Studio for Android Development
 
Sakai10 Selenium Workshop
Sakai10 Selenium WorkshopSakai10 Selenium Workshop
Sakai10 Selenium Workshop
 
Continuous Integration for your Android projects
Continuous Integration for your Android projectsContinuous Integration for your Android projects
Continuous Integration for your Android projects
 
Android – As a tool of innovation
Android – As a tool of innovation Android – As a tool of innovation
Android – As a tool of innovation
 
From Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEFrom Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDE
 
Java notes
Java notesJava notes
Java notes
 
Android Studio vs Eclipse: What are the main differences?
Android Studio vs Eclipse: What are the main differences?Android Studio vs Eclipse: What are the main differences?
Android Studio vs Eclipse: What are the main differences?
 
Building Rich Applications with Appcelerator
Building Rich Applications with AppceleratorBuilding Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
 
Eclipse Che : ParisJUG
Eclipse Che : ParisJUGEclipse Che : ParisJUG
Eclipse Che : ParisJUG
 
Setup Build & Deploy with Jenkins CI
Setup Build & Deploy with Jenkins CISetup Build & Deploy with Jenkins CI
Setup Build & Deploy with Jenkins CI
 
Exploring Android Studio
Exploring Android StudioExploring Android Studio
Exploring Android Studio
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With Selenium
 
Automated Testing Overview
Automated Testing OverviewAutomated Testing Overview
Automated Testing Overview
 
Android Study Jam - Info Session
Android Study Jam - Info SessionAndroid Study Jam - Info Session
Android Study Jam - Info Session
 
Selendroid in Action
Selendroid in ActionSelendroid in Action
Selendroid in Action
 

En vedette

Paintings by Andrey Simakov
Paintings by Andrey SimakovPaintings by Andrey Simakov
Paintings by Andrey SimakovCachi Chien
 
Teepees.(Spanish/English)
Teepees.(Spanish/English)Teepees.(Spanish/English)
Teepees.(Spanish/English)Cachi Chien
 
Bunch of Violets. Ramo de Violetas
Bunch of Violets. Ramo de VioletasBunch of Violets. Ramo de Violetas
Bunch of Violets. Ramo de VioletasCachi Chien
 
121216 uxにもの申す
121216 uxにもの申す121216 uxにもの申す
121216 uxにもの申すMasaaki Kurosu
 
130315 HCD-Netにおける資格認定制度 (英文 certification system of hcd net)
130315 HCD-Netにおける資格認定制度 (英文 certification system of hcd net)130315 HCD-Netにおける資格認定制度 (英文 certification system of hcd net)
130315 HCD-Netにおける資格認定制度 (英文 certification system of hcd net)Masaaki Kurosu
 
Supervivencia.Survival
Supervivencia.SurvivalSupervivencia.Survival
Supervivencia.SurvivalCachi Chien
 
Sweet Touch by Tanya Harsch
Sweet Touch by Tanya HarschSweet Touch by Tanya Harsch
Sweet Touch by Tanya HarschCachi Chien
 
Grasslands and savvanahs BY Muhammad Fahad Ansari 12IEEM14
Grasslands and savvanahs BY Muhammad Fahad Ansari  12IEEM14Grasslands and savvanahs BY Muhammad Fahad Ansari  12IEEM14
Grasslands and savvanahs BY Muhammad Fahad Ansari 12IEEM14fahadansari131
 
Family Franchising Systems(Revised) #1
Family Franchising Systems(Revised) #1Family Franchising Systems(Revised) #1
Family Franchising Systems(Revised) #1Terrell Patillo
 
Trinity Kings World Leadership Services: Family Franchise Systems Data solves...
Trinity Kings World Leadership Services: Family Franchise Systems Data solves...Trinity Kings World Leadership Services: Family Franchise Systems Data solves...
Trinity Kings World Leadership Services: Family Franchise Systems Data solves...Terrell Patillo
 
Videos in the Cloud and Analyses on the Earth - Convergence Project
Videos in the Cloud and Analyses on the Earth - Convergence ProjectVideos in the Cloud and Analyses on the Earth - Convergence Project
Videos in the Cloud and Analyses on the Earth - Convergence ProjectRethinking Audiovisual Archives
 
Honorary Alumni of the Bill Cosby School of Scheming Innocent & Vulnerable Wo...
Honorary Alumni of the Bill Cosby School of Scheming Innocent & Vulnerable Wo...Honorary Alumni of the Bill Cosby School of Scheming Innocent & Vulnerable Wo...
Honorary Alumni of the Bill Cosby School of Scheming Innocent & Vulnerable Wo...Terrell Patillo
 
An eGovernment survey among Austrian municipalitites
An eGovernment survey among Austrian municipalititesAn eGovernment survey among Austrian municipalitites
An eGovernment survey among Austrian municipalititesJohann Höchtl
 
Aisle7 : Retail Mobile Apps from Expo West 2011
Aisle7 : Retail Mobile Apps from Expo West 2011Aisle7 : Retail Mobile Apps from Expo West 2011
Aisle7 : Retail Mobile Apps from Expo West 2011Aisle7
 
W1 A4 Slideshow Conner
W1 A4 Slideshow ConnerW1 A4 Slideshow Conner
W1 A4 Slideshow ConnerTeresaLC77
 
Maravillas ocultas del planeta. Hidden wonders of the planet
Maravillas ocultas del planeta. Hidden wonders of the planetMaravillas ocultas del planeta. Hidden wonders of the planet
Maravillas ocultas del planeta. Hidden wonders of the planetCachi Chien
 

En vedette (20)

Paintings by Andrey Simakov
Paintings by Andrey SimakovPaintings by Andrey Simakov
Paintings by Andrey Simakov
 
Teepees.(Spanish/English)
Teepees.(Spanish/English)Teepees.(Spanish/English)
Teepees.(Spanish/English)
 
Bunch of Violets. Ramo de Violetas
Bunch of Violets. Ramo de VioletasBunch of Violets. Ramo de Violetas
Bunch of Violets. Ramo de Violetas
 
Mito.Myth.
Mito.Myth.Mito.Myth.
Mito.Myth.
 
121216 uxにもの申す
121216 uxにもの申す121216 uxにもの申す
121216 uxにもの申す
 
130315 HCD-Netにおける資格認定制度 (英文 certification system of hcd net)
130315 HCD-Netにおける資格認定制度 (英文 certification system of hcd net)130315 HCD-Netにおける資格認定制度 (英文 certification system of hcd net)
130315 HCD-Netにおける資格認定制度 (英文 certification system of hcd net)
 
Supervivencia.Survival
Supervivencia.SurvivalSupervivencia.Survival
Supervivencia.Survival
 
Sweet Touch by Tanya Harsch
Sweet Touch by Tanya HarschSweet Touch by Tanya Harsch
Sweet Touch by Tanya Harsch
 
Grasslands and savvanahs BY Muhammad Fahad Ansari 12IEEM14
Grasslands and savvanahs BY Muhammad Fahad Ansari  12IEEM14Grasslands and savvanahs BY Muhammad Fahad Ansari  12IEEM14
Grasslands and savvanahs BY Muhammad Fahad Ansari 12IEEM14
 
Family Franchising Systems(Revised) #1
Family Franchising Systems(Revised) #1Family Franchising Systems(Revised) #1
Family Franchising Systems(Revised) #1
 
Trinity Kings World Leadership Services: Family Franchise Systems Data solves...
Trinity Kings World Leadership Services: Family Franchise Systems Data solves...Trinity Kings World Leadership Services: Family Franchise Systems Data solves...
Trinity Kings World Leadership Services: Family Franchise Systems Data solves...
 
Videos in the Cloud and Analyses on the Earth - Convergence Project
Videos in the Cloud and Analyses on the Earth - Convergence ProjectVideos in the Cloud and Analyses on the Earth - Convergence Project
Videos in the Cloud and Analyses on the Earth - Convergence Project
 
Honorary Alumni of the Bill Cosby School of Scheming Innocent & Vulnerable Wo...
Honorary Alumni of the Bill Cosby School of Scheming Innocent & Vulnerable Wo...Honorary Alumni of the Bill Cosby School of Scheming Innocent & Vulnerable Wo...
Honorary Alumni of the Bill Cosby School of Scheming Innocent & Vulnerable Wo...
 
An eGovernment survey among Austrian municipalitites
An eGovernment survey among Austrian municipalititesAn eGovernment survey among Austrian municipalitites
An eGovernment survey among Austrian municipalitites
 
Aisle7 : Retail Mobile Apps from Expo West 2011
Aisle7 : Retail Mobile Apps from Expo West 2011Aisle7 : Retail Mobile Apps from Expo West 2011
Aisle7 : Retail Mobile Apps from Expo West 2011
 
La Vie
La VieLa Vie
La Vie
 
W1 A4 Slideshow Conner
W1 A4 Slideshow ConnerW1 A4 Slideshow Conner
W1 A4 Slideshow Conner
 
Gh wedding brochure
Gh wedding brochureGh wedding brochure
Gh wedding brochure
 
Maravillas ocultas del planeta. Hidden wonders of the planet
Maravillas ocultas del planeta. Hidden wonders of the planetMaravillas ocultas del planeta. Hidden wonders of the planet
Maravillas ocultas del planeta. Hidden wonders of the planet
 
Mondo elettronico
Mondo elettronicoMondo elettronico
Mondo elettronico
 

Similaire à Android developer's toolbox

Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Testbells
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile TestingApple Chow
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Applitools
 
eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introductionvstorm83
 
Evolution of VS code Java ecosystem
Evolution of VS code Java ecosystemEvolution of VS code Java ecosystem
Evolution of VS code Java ecosystem Adi Polak
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textToma Velev
 
Synapseindia android apps intro to android development
Synapseindia android apps  intro to android developmentSynapseindia android apps  intro to android development
Synapseindia android apps intro to android developmentSynapseindiappsdevelopment
 
Selenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI TestingSelenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI Testingmikereedell
 
Stopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under TestStopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under TestSeb Rose
 
Mix Tech Ed Update No Video
Mix Tech Ed Update No VideoMix Tech Ed Update No Video
Mix Tech Ed Update No VideoAllyWick
 
Google App Engine - Java Style
Google App Engine - Java StyleGoogle App Engine - Java Style
Google App Engine - Java StylePeter Lind
 
The new java developers kit bag
The new java developers kit bagThe new java developers kit bag
The new java developers kit bagJamie Coleman
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Ajeet Singh Raina
 
[Ultracode Munich #4] Short introduction to the new Android build system incl...
[Ultracode Munich #4] Short introduction to the new Android build system incl...[Ultracode Munich #4] Short introduction to the new Android build system incl...
[Ultracode Munich #4] Short introduction to the new Android build system incl...BeMyApp
 
whats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxwhats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxGabrielSoche
 
005528214.pdf
005528214.pdf005528214.pdf
005528214.pdfEidTahir
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDBatyr Nuryyev
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0Jasmine Conseil
 

Similaire à Android developer's toolbox (20)

Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile Testing
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
 
eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introduction
 
Evolution of VS code Java ecosystem
Evolution of VS code Java ecosystemEvolution of VS code Java ecosystem
Evolution of VS code Java ecosystem
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
 
Synapseindia android apps intro to android development
Synapseindia android apps  intro to android developmentSynapseindia android apps  intro to android development
Synapseindia android apps intro to android development
 
Selenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI TestingSelenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI Testing
 
Stopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under TestStopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under Test
 
Mix Tech Ed Update No Video
Mix Tech Ed Update No VideoMix Tech Ed Update No Video
Mix Tech Ed Update No Video
 
Google App Engine - Java Style
Google App Engine - Java StyleGoogle App Engine - Java Style
Google App Engine - Java Style
 
Jenkins & IaC
Jenkins & IaCJenkins & IaC
Jenkins & IaC
 
The new java developers kit bag
The new java developers kit bagThe new java developers kit bag
The new java developers kit bag
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
 
[Ultracode Munich #4] Short introduction to the new Android build system incl...
[Ultracode Munich #4] Short introduction to the new Android build system incl...[Ultracode Munich #4] Short introduction to the new Android build system incl...
[Ultracode Munich #4] Short introduction to the new Android build system incl...
 
whats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxwhats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptx
 
005528214.pdf
005528214.pdf005528214.pdf
005528214.pdf
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
Robotium
RobotiumRobotium
Robotium
 

Dernier

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Dernier (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Android developer's toolbox

  • 2. Build tools  ant, maven  Libraries  Roboguice, retrofit, ormlite, androidannotatation s,  Testing  Fonemonkey, robolectric, robotium solo  Stuff  acra, bugsense,
  • 3.
  • 4. Pros  developed by Google (Android tools team)  Gets all the latest SDK improvements  Generated from Eclipse (ADT) Cons  No dependency management ( needs Ivy)  Not trivial to contribute (or debug)  Ant…
  • 5. founded by JAYWAY  developed by the community  Hosted on github – easy to contribute/debug  Easy to setup  Dependency management  Jars depend on other jars with versions  Supports  package (apk/apklib), jar sign, zipalign, proguark, native, scala and more  Runs tests  start emulator prior to running test
  • 6. Use Maven profiles to distinguish dev from release build
  • 7.
  • 8. Based on Google Guice  Simplify your code make it more readable  Remove boilerplate  PLUS: You get the power of dependency injection (Guice)  Automatic Injection  Loose coupling  Testing with Mocks
  • 9.
  • 10.
  • 11. Re-usabale library by Square Inc.  Interesting stuff  RestAdapter – abstraction over HTTP for Android ▪ Create a Java interface for your services  ShakeDetector  QueueFile (for storing a Q on Android filesystem)
  • 12. Does all the dirty HTTP work for you  All calls are Async  can be used from UI thread w/ callback  Built-in JSON support  Uses JdkProxy, Guice and Gson
  • 13.
  • 14. Lightweight ORM  Makes DB interaction more pleasant  Code more readable  Mature project  Good documentation + large community  Excellent support from the project owner Grey Watson http://256.com/gray/
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Provides Android specific annotations to make the code even more readable  Can be integrated with roboguice  Works by generating code during build process
  • 20.
  • 21.
  • 22.
  • 23. Relatively new (4-6 month)  Backed up by commercial firm (Gorilla Logic)  Record your tests  Adjust playback speed  Add conditions  Generate JUnit from the recording  Tests can run as plain JUnit (it communicates with the app inside emulator) * very elegant solution for test recording
  • 24.
  • 25.
  • 26. Selenium like UI + Functional testing framework  Runs on Emulator/Device
  • 27.
  • 28. You can run tests from IDE  No emulator  Fast  Enables TDD  No mocking framework needed http://github.com/pivotal/robolectric
  • 29. Run tests from IDE  Very fast  No emulator  Intercepts loading of Android classes – rewriting their bodies to return null/0/false  Or forward calls to shadow classes
  • 30.
  • 31.
  • 32.
  • 33. Starting new Android project?  Here’s Intellij project template with configured:  roboguice  robolectric  C2DM  Android source jars  Jackson (json parser)  ….  https://github.com/pivotal/AndroidIntelliJStarter
  • 34. Library that submits crash reports (or exceptions) to your server / Google spreadsheet / email  Add logcat and memory usage to your report  Mature project  Used by lots of apps (incl. Facebook app)  OSS
  • 35. Bug tracking for mobile  Realtime crash / bugs analytics  Search  Notify users when bug is fixed  Supports Proguard  Integrates with ACRA and JIRA
  • 36.
  • 37. Post crashes/bugs as tickets in JIRA  Still in development  Open source  Cool features  Get user feedback  Reply to user via comment on JIRA issue  Notify user the crash/bug he reported is fixed  and more…

Notes de l'éditeur

  1. you’re welcome to create pull requests
  2. When releasing you don’t need the instrumentation testsWhen releasing you need to sign + zipalign + proguard + proguard ….
  3. singleton
  4. ViewById by name conventionRestService – idea is similar to retrofit