Android SDK released!

Mr. Roboto

Google has released the Android SDK on Google Code. The SDK is Java based and runs on Windows XP/Vista, Mac OS X 10.4.8+ and Linux. It requires a JDK 5 or 6 and Ant. Google provides an Eclipse plugin, but there are also instructions for using the SDK without Eclipse or with other IDEs (Jonathan Schwartz has promised a Netbeans environment for Android). The following video provides a quick intro to the Android architecture. Android runs on a Linux Kernel and applications are written in Java. For writing your own apps, the main 4 components you can use are;

  • Activity: UI component, a screen.
  • IntentReciever: Register code until it is triggered by an external event. Ex: Wake up code when phone rings.
  • Service: A task that runs on the background (no UI). Ex: Music stars in an activity, user does something else the service running the music will be in a service.
  • Content Provider: Share data with other processes and applications.

Other highlights include: WebKit used for web browser, SQLite for data storage, Java VM is called “Dalvik”. More details at the “What is Android” page.

For graphics, there are no signs of Graphics/Graphics2D or any AWT or Swing code to be found. Android provides it’s own component model, windowing and graphics libraries. The following code shows how to add a button with an anonymous listener;

http://code.google.com/android/reference/android/widget/Button.html

 public class MyActivity extends Activity {
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);

         setContentView(R.layout.content_layout_id);

         final Button button = (Button) findViewById(R.id.button_id);
         button.setOnClickListener(new Button.OnClickListener() {
             public void onClick(View v) {
                 // Perform action on click
             }
         });
     }
 }

Very interesting stuff, of course one wonders what this means for JavaME. Android is an effort by the Open Handset Alliance, composed of over 30 companies. Missing in this group of course is Sun, also missing is more details like will there be any JavaME interoperability with Android applications, or what this means for the mobile version of JavaFX.

I also couldn’t find details on to what extent of the Java SE API is included in Android (have to try that Eclipse plugin). I’m guessing it won’t include the javax.swing and java.awt packages, but a more detailed list would be nice. It’s good to see that at least it will support Java 1.5 language features. I’m also glad is Google is providing more information on this platform than what you usually see with Apple.

Now all I need to do is find some time to create a couple of apps and see if I have a shot at winning some money!

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>