Monday, April 27, 2009

Discovering Android, part 1: Plurk

Android SDK 1.5's most immediately visible development is the use of AVDs (Android Virtual Devices). In a way, you can create one or more virtual smartphones with various hardware configurations (screen size, keyboard layout, SD card size, etc.) which can then be used as inputs to the emulator. This is great for testing your applications on different phone "models".

It took me some time to get it right, so after I managed to properly install the SDK (1.5 release 1) on Eclipse, I tried to play with it by plurking. Here's a snapshot:

Monday, April 13, 2009

Waiting to take the plunge

I did some research over the weekend to put a logical rein on my seemingly irresistible attraction to the idea of getting a smartphone, either an iPhone or an Android-based handset, and writing mobile applications.  As Orange is the exclusive distributor for HTC Dream (also known as G1) I went directly to the Orange shop and got my hands on the Dream. It's not bad actually.  Better than my current Samsung phone, obviously.  And the sliding display over the keyboard seemed a bit like a playful novelty to me.  But something kept bugging me.

So I decided to give a good look at the iPhone.  The temptation to go head-on with the iPhone was surprisingly strong once you've touched it; iPhone being the iPhone.  For such a stylish phone I'm willing to learn some Objective C.  Nevermind that more and more phones will soon be running on Android.   Nevermind that more and more PC companies are developing netbooks running on Android.  The iPhone is simply RFC (really f**kng cool)!  At this point I realized that I'm getting irrational, so I decided to call it a day and go home.

Still, I was more or less leaning towards getting an iPhone -- that is, until I found out earlier tonight that I couldn't develop iPhone applications on my PC.  What a bummer.  Buying a Mac is out of the question as that would mean I'd have to fork out around 2000 euros just to be able to have my hacking toy.  Unless some money angel comes around, it's way off my budget.  Logic -- and my wallet -- is now gaining the upper hand.

But I was not particularly impressed with the HTC Dream so I read more about it.  Most tests posted online seem to agree with my assessment of the Dream.  I therefore decided that I'd be better off with the next Android phone that comes around.  That would likely be the HTC Magic.  But who knows, maybe my current Samsung phone might simply be replaced by one of its younger cousins.

For the moment, I'll wait and keep playing with the Android emulator.

Saturday, April 11, 2009

Lenovo's Wicked Android oPhone!

This is really happening.  More and more companies are making smartphones based on Google's Android operating system.  After HTC, Samsung is said to release two Android-based models later this year.  But guess what, Lenovo, the Chinese PC maker who bought IBM's PC business beats Samsung to the punch with it's (so far) China-only oPhone!  Here's the video:




I'd say it's cool!  But what do you think?

Wednesday, April 1, 2009

Hello, Android

I finally found the time and the will to play with the Android SDK (software development kit) tonight and, oh my, this is fun!  First of all, I thought my firewall (nasty but free Comodo) was acting up and I keep seeing messages like this in the Eclipse DDMS console, that seem to be scanning various network ports:

[ some_time_stamp - ddms ] Can't bind to local 8600 for debugger 

I included almost all the executable files in the Android SDK tools folder in my firewall's list of allowed applications, to no avail.  Time to search the net.  Soon enough I learned that one has to include the following line in the one's hosts file:

127.0.0.1        localhost

Apparently, the Linux-based Android OS still uses IPv4, and failed to understand this existing line in my hosts file, in IPv6 fashion:

::1        localhost

By the way, on Vista the hosts file is in the folder C:\Windows\System32\drivers\etc.

So having fixed that initial problem, I was able to focus on how the Android emulator looks, from phone startup to actually running the application.  Android's Eclipse plugin automatically creates a "Hello World" implementation right after you have created an Android project.  It doesn't do anything, except show a "Hello World" text on the phone.  So anyway, here are some screen shots.

The emulator starts up after running the project in Eclipse.  It shows the text ANDROID with a blinking cursor.



The Android logo comes up.



Then you see a phone with locked display, which you can unlock by pressing the Menu key.



Naturally, some built-in Android applications will try to contact the telephone provider, but since we're not connected to the phone network, the Android OS will try to reclaim their system resources.  Android is rather aggressive in this aspect, in order to ensure a smooth user experience.



After I clicked on "Force Close", I then see the Hello World app.



Of course, it's just a boring application for now.  So let's have a look at the Home view, which we can see by pressing on the phone key with the house icon.



Cool, isn't it?  Clicking on the grey tab, we can see a popup with various applications.



Clicking on the Browser, I get connected to the Google website's mobile version.



Of course, we have barely scratched the tip of the iceberg here.  I'll post later about more exciting things with Android!