SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

利用 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
 

What's hot (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
 

Viewers also liked

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
 

Viewers also liked (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
 

Similar to 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
 

Similar to 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
 

Recently uploaded

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 

Recently uploaded (20)

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 

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…

Editor's Notes

  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