SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Último (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

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…

Notas do Editor

  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