Ventures of an ex indie game developer

Lookin' for a job

I noted that this summer there has been a deficiency of .NET and Android programmers in the Gothenburg area. (Let's not get into the employers-think-carpenters-who-previously-only-used-hammers-are-not-capable-of-using-nailers discussion. The language itself is not worth mentioning and the framework can usually be learnt in days.) So I thought I'd look into the basics of Android, the one I presumed was least boring of the two. I'd wanna learn it well enough to be able to say "It's an Android system - I know this!" whenever a dull job ad shows up.

First off a flame warning: I pretty much hate documentation. I feel the tutorial source code should speak for itself.
>>> import urllib
>>> print urllib.urlopen("http://www.google.se").read()
Now let me quote some of the documentation I ran into during my first hour of trying to understand Android basics.
  • "Open the activity_main.xml file from the res/layout/ directory." (Yes, the 'WYSIWYG' editor still sucks so bad that Google first says "head for the XML". And before you ask, yes, I have a healthy hate for XML too.)
  • <EditText android:id="@+id/edit_message" ... /> "The plus sign (+) before the resource type is needed only when you're defining a resource ID for the first time." (First time per what? View? Activity? Intent? App? What???)
  • "Because the ActionBar APIs are available only on HONEYCOMB (API level 11) and higher, you must add a condition around the getActionBar() method to check the current platform version. Additionally, you must add the @SuppressLint("NewApi") tag to the onCreate() method to avoid lint errors." (Level? You mean version? When was API level 11 released? What API should I use on devices running older firmware? Is it worth it or is it only 1% of the poorest in India running level 10 or earlier?)
  • "The system uses this value to implement default navigation behaviors, such as Up navigation on Android 4.1 (API level 16) and higher. You can provide the same navigation behaviors for older versions of Android by using the Support Library and adding the <meta-data> element..."
  • "Adding the action bar when running on versions older than Android 3.0 (down to Android 2.1) requires that you include the Android Support Library in your application." (Seems to be the toolbar that has been standard since iPhone 1 anno 2007...)
  • "However, if your app is using the Support Library for compatibility on versions as low as Android 2.1, the showAsAction attribute is not available from the android: namespace." (And they go on to describe how you can circumvent their lacking XML namespace support.)

And this is just about the version handling. I mean, who designs around views and view groups when you could have just views (as in all other systems I've previously encountered)? Why would you call your controllers "Activities"? Why call your messages "Intent"? Either they are trying to over-generalize in the most elaborate, inept way or they see something I don't. Jobs was definitely right when talking about the fragmentation of Android; I thought Google were capable in all/most fields. Lemme just say I don't think that any more. Murmur... mustn't nag.

I've lost all inspiration, don't know what pilot app to create. Needs to be one big enough to land me a job, but small enough to minimize destruction of brain. Perhaps a simple ssh client, I've never done one of those. In a distant future I could build upon it to control electronic stuff in my house, that'd be groovy.

About the author

Mitt foto
Gothenburg, Sweden