I’ve spent the evening going through some of the tutorials for the newly released Android SDK. I won’t beat around the bush about my motivaion: I want money! I’ve spent about two hours playing with it so far.
My impressions so far are mixed. The packaging is fairly nice – the eclipse plugin integrates things together well, including debugging in the emulator. It’s a little rough around the edges but quite usable.
I’m not altogether impressed with the code itself so far. The xml layouts are quite verbose – I think I’ve written ‘android:layout_height=”wrap_content”‘ about 10 times in the past hour. (Why did they choose such a long default namespace prefix for all the examples? I’m using ‘a’. ) There’s nothing particularly novel about the way these are done. Perhaps it’s the ‘it works on a phone’ part that’s cool? Having never developed for these things, I don’t know. /me is spoiled, undoubtedly.
I also don’t yet understand why there are constants being used for so many things. This code has serious public-static-final-int-itis. Doesn’t java have strongly typed enums? My java friends says that yes, it does, as of 1.5. Perhaps this is based on an older compiler? The attributes in the examples tell me otherwise.
I do like the resource mechanism, as I currently see it. Being able to access resources from the code in a strongly-typed way is a big win. (ala ResXCodeFileGen) It feels like it’ll make for a good localization mechanism as well. I would like to see better ide integration for this kind of thing. Imagine thinking: “I need a new string resource for this”, hitting the hot key, filling out a little form, and having the string added with the key you specified and the reference already in place.
This is all, of course, FWIW. I’m sure my opinions will change as I learn more.