Kevin Vance (weblog of)

Entries | Archive | Friends | Friends' Friends | User Info

09:12 pm

Sunday, July 18th, 2010
Previous Entry Share Next Entry
I finally finished my first proper Android app: Nectroid 1.0! It's also the only application I've ever written in Java, despite learning the language in 1997.

I covered a lot of the Android API with this one: animated transitions, resource/asset management, background tasks, sound playing, message queue handlers, file cache, preferences, foreground services, notifications, simple network access, XML parsing, and a decent chunk of the UI widgets and drawables. It was also the first time I got to use Java generics and its for-each loop. And this was my introduction to the Android Market and Google Code platforms.

As learning experiences go, that's pretty good!

It took about two weeks for Java to stop being aggravating to work with. I've found this to be true in the past with Objective C and even StarBasic. Java's rigid structure and relentless verbosity do not work well with my development routine. I struggled to Not Repeat Myself using single inheritance and closures that are 90% boilerplate syntax. Vjde took a bit of the edge off. Eventually, I just got used to it. But it never became fun like Objective C or Python.

Next, I'm going to look at some game development. I've heard skeptical voices about paid apps on the Android Market, so I'm also looking into the "ad-supported for free or pay" model that seems to be popular.

Current Music Skaven - Space Hulk I: Captured Sun
Link )Reply )

Comments
[User Picture]From: teferi
2010-07-19 01:58 am (UTC)

(Link)

Java is not supposed to be fun. Fun is not Enterprise grade and Does Not Scale. Fun violates type safety. Fun is not a Best Practice.
[User Picture]From: kvance
2010-07-19 02:02 am (UTC)

(Link)

No wonder, the whole time I felt like I was productizing cross-platform e-commerce mission-critical e-services!
[User Picture]From: kartos
2010-07-19 02:33 am (UTC)

(Link)

My, that's a nice looking nectarine.
[User Picture]From: kvance
2010-07-19 02:35 am (UTC)

(Link)

Indeed it is. Almost as though I got some kind of college-educated artist to make it for me! :D
[User Picture]From: kartos
2010-07-19 02:47 am (UTC)

(Link)

Yet somehow didn't spend a lot of money on your 7 legged spider!
From: c99koder
2010-07-19 04:02 pm (UTC)

(Link)

You should add Last.fm scrobbling support ;) Copy/pasteable sample code here: http://wiki.github.com/c99koder/lastfm-android/scrobbler-interface
[User Picture]From: kvance
2010-07-19 04:09 pm (UTC)

(Link)

Yes. Yes I should.
[User Picture]From: kvance
2010-07-22 07:35 pm (UTC)

(Link)

Added! That was easy :)
From: c99koder
2010-07-23 03:57 am (UTC)

(Link)

sweet!
From: c99koder
2010-07-25 05:27 am (UTC)

(Link)

Just took a look at the code -- there's an optional "position" Long extra you can add to metachanged to offset the start time to avoid counting tracks as skipped if they're started mid-song, instead of hacking the duration.
[User Picture]From: kvance
2010-07-25 05:18 pm (UTC)

(Link)

Thanks! Fixed in r26.