Quick and easy source code management (5-10min)
Using SourceTree makes using git less of a chore. Very positive if you’re trying to bring team recruits who are used to SVN up-to-speed on git.
We’ll be demoing it’s use in our code example in a few minutes.
GitHub is the classic choice for free hosting if you don’t mind publishing your bright new idea to the world.
If you’re a bit more shy (What happens at StartupWeekend stays at StartupWeekend?) and would like to keep your big idea private, just use BitBucket.
It’s free for up to 5 users and supports Git or Mercurial. It also has nice collaboration features. (Good for post-hackathon follow up.)
Synchronizing binaries: Bittorent Sync VS Dropbox
Dropbox is a great tool, but if you’re like me you’vee reached the limit on that a while ago. You might be paying for extra space, but chances are members on your team are not.
Bittorent sync is a nice alternative. Just install it on your Mac or PC, add a folder to be synced. BT Sync will provide you with a key to share with the rest of your team, and presto, instant, unlimited, secure file sharing. Great for those bigger binaries or that pile of .pdf and design documents that don’t belong under git.
Rapid prototyping (fluidui.com,proto.io)
To be honest, we just wanted to give the non-coders an alternative to design screens and mockups. While preparing the demo, we started having doubts as to their pertinence in a hackathon.
As it stands, paper or the back of napkins are also great sketching tools. The main issue with formal UI tools like these is they dont enforce a platform’s design language. iOS has certain UX design patterns, Android has it’s own, and neither sketching tool really reflects these in their default toolbox.
Which brings us to the meatier part of our talk.
Rapid Android dev techniques
Leveraging IntelliJ/Eclipse UI Editors
Theming
GitStepping
You can follow along the various steps on github.
ActionBar
Demo
- http://developer.android.com/design/patterns/actionbar.html
- http://developer.android.com/guide/topics/ui/actionbar.html
- http://developer.android.com/guide/topics/ui/menus.html
Hamburger
Demo
Using Genymotion for super fast feedback loops.
Pros:
- Blazingly fast, faster than real device.
- (Integration tests at x10 speeds? Yes please.)
- Perfect for product demoes on projectors
- Acts like a real device
- Access to Play Store
- Syncs with your google account
Caveats:
<uses-sdk android:minSdkVersion="16"/>
- Current version has softkeyboard/hardkey bugs (overflow a problem)
- When using NDK/JNI you’ll need to make sure to provide x86 libraries
TL;DR
Quick, where’s my .apk??
- Just run (ctrl-r) with your device as a target, or:
- From your project folder on the command line (Mac/Linux with properly configur):
ant clean release
find . -name \*apk -ls
points to the useable .apk.adb install your.apk
to installadb uninstall com.your.project.packagename your.apk
to uninstall
“Easy” wins when/if time permits
- BugSense
- Leveraging Google’s Android APIs (Maps, push notifications, etc.)
Also…
Pits of doom?
- Like scrum? Use post-its, avoid time consuming task managers.
- ActionBarSherlock: we love it, but if you’re lucky, by the time you have a shippable product, gingerbread will be dead. The time overhead isn’t worth it.
- RoboGuice, RoboElectric are awesome, but you don’t have the time. 🙂
- Complex