This post originated from an RSS feed registered with Java Buzz
by Marc Logemann.
Original Post: first impression of the Android SDK
Feed Title: Logemann Blog
Feed URL: http://feeds.feedburner.com/LogemannBlog
Feed Description: Marc Logemann's thoughts on java and other stuff
I ve spent some hours this evening to explore the Android SDK and i am still excited what i see.
The eclipse plugin
First i wanted to quickly start up things so i downloaded Eclipse and installed the Android plugin. So far so good. It was quite easy to see results by importing Notepad exercise projects from the tutorial. And its really a tutorial, meaning they give you a start and then by reading you have to do the things yourself. Quite a good way to introduce a new API. The first problem encountered when i deployed different versions of the Notepad app, it seems that even i clicked on “run” in eclipse, the version was still the old one but not completely. In my case the java code was new but the resources were from an old version, so i got problems because R.class pointed to resources that simply were not there. After manually deleting the app by using the linux shell (!!) on the emulator, the next install of the app was ok and everything worked like expected. I also had some problems firing up context sensitive help for the API, something was wrong in the path, but i havent spent time on that because its clear that if i will do more with Android in the future, i will definitely use IntelliJ for programming.
The shell and more via ADB
Adb is something like a bridge to the emulator with some nice features. First of you can go to the shell of the emulator with the usual linux commands onboard (ps, ls, rm, …). Then it understands some dump and status commands that will tell you really a lot about the state of the device and its sqllite db and much much more things. Good thing.
The emulator
When firing up the emulator, i had a scary midp-development deja vue not because of the functionality but because of using an emulator at all which looks like a handset, but thats just me, no problem for 99.5% of all java developers. The visual appearance of the OS is quite ok for a first version of it. They designed something like a dock, known from Mac OS X and the handling in total is nice. The emulator itself is packed with a lot of optional command line arguments where some of them are really useful for testing and development. Debugging this thingy is also quite easy so its feels like debugging a standard java app. The emulator has some more debugging options which can be set inside the OS, especially the “waiting for debugger to connect” is cruical for debugging lifecycle methods.
The API
I cant say too much about it yet because the timeframe was definitely too short to get a detailed overview. The tings i ve done so far feeled natural and not overwhelming complex. I have the impression that even in its first version its a lot better to handle than MIDP. XML markup for GUIs are not new but i like it. One of the things that are included is the sqlite db and its API. Having a SQL compliant db on board is really hughe. People starting with MIDP some years ago know what i mean. The quick look at the Maps API was also quite impressive.
Tooling and other IDEs
There is some post-compilation tooling necessary before you can put the app onto the device/emulator. If you use another IDE like i will do, there is a really useful python script (activityCreator.py) which generates a lot of project and Android artifacts for you. And luckily because at google work enough people using IntelliJ, there is the important “–ide intellij” parameter on the python script. A first look at the build.xml file was also quite nice, because when it comes to packaging, everything is right there. Only uploading to the emulator seems not implemented there. In fact what i am missing on the emulator is a way to prestart an application on launch. (hint hint!!) This way one could startup the emulator and the application in one step, making things perhaps easier.
Summary
I really like what i have seen so far. And when you look at the Android mailist, you see masses of developers posting questions and playing around with the API. This is a good sign of quick adoption. Google makes it easy for developers to play with it and they have done a great job in putting together usable API informations together with real world examples, FAQs and more.