Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Android developer's toolbox


Published on

Published in: Technology
  • Be the first to comment

Android developer's toolbox

  1. 1. Alex Verdyan@aexxx
  2. 2.  Build tools  ant, maven Libraries  Roboguice, retrofit, ormlite, androidannotatation s, Testing  Fonemonkey, robolectric, robotium solo Stuff  acra, bugsense,
  3. 3. 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…
  4. 4.  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
  5. 5.  Use Maven profiles to distinguish dev from release build
  6. 6.  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
  7. 7.  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)
  8. 8.  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
  9. 9.  Lightweight ORM Makes DB interaction more pleasant Code more readable Mature project Good documentation + large community Excellent support from the project owner Grey Watson
  10. 10.  Provides Android specific annotations to make the code even more readable Can be integrated with roboguice Works by generating code during build process
  11. 11.  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
  12. 12.  Selenium like UI + Functional testing framework Runs on Emulator/Device
  13. 13.  You can run tests from IDE No emulator Fast Enables TDD No mocking framework needed
  14. 14.  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
  15. 15.  Starting new Android project? Here’s Intellij project template with configured:  roboguice  robolectric  C2DM  Android source jars  Jackson (json parser)  ….
  16. 16.  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
  17. 17.  Bug tracking for mobile Realtime crash / bugs analytics Search Notify users when bug is fixed Supports Proguard Integrates with ACRA and JIRA
  18. 18.  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…
  19. 19. Any.DO