Looks like next week I may be signing an android developer book author contract. Probably Android3d with a follow up book on either Android NDK or Agile Android Patterns. Should be fun.
Archive for January, 2011
Tags: Behavior Driven Development, Build Management, Emulator, Java, Test-driven development, Unit testing
This is not the tool itself but the Gradle build GUI showing the tool itself. Because the gradle build lifecycle is tdd based we get that as a foundation and I am just integrating some tools on top of the gradle android plugin such as code analysis tools robolectric, etc.
How much dev time are we saving? The typical round trip of compiling the parent project, dx-ing, and installing and compiling the instrumented test and than dx-ing it and installing it can be anywhere from a minute for small project to several minutes per a large project and in the TDD process you would be doing that perhaps a 100 times on typical coding day. That is over 1 to 2 hours in development time savings. That is not counting the savings of not having to fully mock test an android project and thus it is a substantial amount of development time saved.
To those firms in Chicago looking for Android Developers, I am only 43 minutes from downtown Chicago.
For those using or moving towards using Groovy’s Gradle for builds, the Gradle-Android plugin has been updated to Gingerbread SDK by the project lead. Its gradle requirement is Gradle 0.9.1.
Tags: Agile software development, Dalvik (software), Dalvik VM, Emulator, Java Virtual Machine, Test-driven development, Unit testing
There is a tradition in Java when trying to teach a group to relearn coding patterns or best practices to use the -In-Anger in the title. There are two ways essentially, one is to mock everything so as to be able to use TDD via Junit4 testing in a JVM outside of the Android emulator or android device. The other way is to integrate everything in such a way that one can use roboguice, robotium, and android-mock to instrument test code in the android emulator or android device.
With the introduction of caliper(@googlecode) for benchmarking and vogar(@googlecode) for executing both benchmarking and unit tests via the command line to a Dalvik VM either in the emulator or device that it may once again be speedy and fashionable to do TDD via real unit test code instrumentation.
The title to the article series I have come up with is Agile Android-In-Anger. The anger part is due to the myths that still are out there of what code patterns work in android application development and some performance myths about some of those tools such as dependency injection. The plan is to have some articles up at shareme.github.com this next week.
I do expect to fully cover Roboguice, robotium and Android-Mock together.