Forum Controls
Spotlight Features

The Rich Engineering Heritage Behind Dependency Injection

Andrew McVeigh takes us on a tour of the rich heritage behind dependency injection, what it represents, and tells us why its here to stay.

NetBeans 6: Matisse Updates

NetBeans 6 delivers great updates to the Matisse GUI builder. Spend a few minutes with Roman Strobl and get an expert briefing on what's new and what has changed.

Introduction to Groovy Part 3

In this, the third and final installation of Andres' Introduction to Groovy series, you learn about how Groovy handles variable numbers of arguments, named parameters, currying, and more about Groovy operators. Including, some new operators.

Easier Custom Components with Swing Fuse

Swing Fuse (actually just Fuse), is a framework designed to make it easier to create your own custom desktop components. In this article, Daniel Spiewak shows you how to get started and provides sample source code you can download.

Benchmark Analysis: Guice vs Spring

Willam Louth shows how he uses JXInsight Probes to investigate probable performance issues with code bases that he is not familiar with. He also highlights possible pitfalls in creating a benchmark, as well as in the analysis of results.
Replies: 33 - Pages: 3   [ 1 2 3 | Next ]
Threads: [ Previous | Next ]
  Click to reply to this thread Reply

Android is out: First Looks

URL: Android SDK

At 2:25 PM on Nov 12, 2007, Daniel MD wrote:

The wait is over! We now know what most had predicted. Android revolves around the Browser and Java, it even uses the same dev tools (in this case Eclipse is the out of the box supported IDE).


As you can see the browser takes the main stage in the home menu.

The API is extensive and comprehensive . It covers most of the mobile developer needs, including sensors (for accelerometer applications - iPhone like apps) and camera access. Also noteworthy is the android.os package that gives developers access to a lower level of tasks than what is usual in J2ME development. Here is a graphical overview of the platform.



For Java developers, the most relevant information is about the Android Runtime:


Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.

Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.

The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.


Regarding connectivity, a key aspect of any mobile platform. Android comes ready with a good stack, that includes Bluetooth, EDGE, 3G, and WiFi (if the hardware supports it).

In terms of UI, OpenGL ES is supported providing 3D and surface management similar to the iPhone.

For more info the What is Android? page is a helpful guide.

The platform is service oriented as was to be expected from a services company. The app development model also revolves around this services paradigm:


There are four building blocks to an Android application:

* Activity
* Intent Receiver
* Service
* Content Provider


The platform relies heavily on Java and XML, these are two technologies that most modern developers are very familiar with. The hardware may be one year away, but the kit is ready for prime time development. Google also launched a $10 Million (US Dollar) contest for app developers.

The SDK comes with a few example applications, none is mind blowing, however they serve to illustrate the basic capabilities of the platform.

The platform looks promising. Further details as we evaluate the platform. In the meantime this is a good time as any to start your own comments :)
1 . At 3:14 PM on Nov 12, 2007, Tom wrote:
  Click to reply to this thread Reply

not the whole story

Note that according to the architecture diagram, most libraries are written in C/C++, including OpenGL, SGL, SQLite, and WebKit. The APIs appear to differ substantially from standard Java APIs; there may not even be J2ME or MIDP support. On the other hand, the pre-announcement talked about shell access, something that isn't apparent at all in either the documentation or the presentations.

I think it will take a lot more digging and analysis to figure out what this actually means for Java, Linux, etc.
2 . At 3:35 PM on Nov 12, 2007, Andy Tripp DeveloperZone Top 100 wrote:
  Click to reply to this thread Reply

Re: not the whole story

> I think it will take a lot more digging and analysis
> to figure out what this actually means for Java,
> Linux, etc.

Let us know what you find when you're done digging. Be sure to let us know whether our "so much speculation" about the APIs being in Java, and your assertion "They are quite clear about the technologies: they provide shell access, X11, Gtk+, C/C++ programming, and Python."

Both from your post here: http://www.javalobby.org/java/forums/m92181755.html

In the meantime, I'm going to start investigating the Java API, even though "it won't be forced on developers as the primary runtime." ;)
Andy Tripp, CTO and Founder Jazillian - Legacy to 'natural' Java.
3 . At 3:44 PM on Nov 12, 2007, Jean-Marie Dautelle DeveloperZone Top 100 wrote:
  Click to reply to this thread Reply

Great news!

First let me say that it is great news! Android seems to provide a relative lightweight but powerful API.
Google seems to understand that a core API should provide the building blocks (e.g. OpenGL binding) and lets the developers create the optional higher level components themselves. Androids could be a response to the current J2SE bloating and replace the J2SE platform altogether!
Furthermore, Androids is not J2ME based but J2SE based with class parameterization support!
This is very exciting as the philosophy of Android is about the same as the Javolution library (which could complement it nicely): Fast, Responsive & Seamless :)
Jean-Marie Dautelle - Marlboro, MA
-- Javolution: Everything should be made as simple as possible... -- JScience: But not simpler!
4 . At 3:51 PM on Nov 12, 2007, Tom wrote:
  Click to reply to this thread Reply

Re: not the whole story

Both from your post here:

Apparently, you missed the correction .

In the meantime, I'm going to start investigating the Java API

When you actually find out some facts, please share them with us.
5 . At 4:09 PM on Nov 12, 2007, Richard Lowe DeveloperZone Top 100 wrote:
  Click to reply to this thread Reply

Re: Great news!

I have to agree this is very cool. Nice design and idea now all we have to do is see what kind of handsets the manufactures will make and the carriers will sell.
6 . At 6:27 PM on Nov 12, 2007, Andy Tripp DeveloperZone Top 100 wrote:
  Click to reply to this thread Reply

Re: not the whole story

> Both from your post here:
>
> Apparently, you missed > href="http://www.javalobby.org/java/forums/t103072.htm
> l#92181899">the correction .

This: "maybe I was mistaken, or maybe the announcement was removed because it was misleading, or something else is going on." is not a "correction".

A "correction" would be something like "I thought the video mentioned X11, Gtk+, C/C++ programming, and Python, but that was incorrect."

>
> In the meantime, I'm going to start investigating
> the Java API

>
> When you actually find out some facts, please share
> them with us.

Last time I shared what I considered to be some facts (that RedHat had announced that it would be distributing it's own JDK distro), you called it "cynical bullshit" http://www.javalobby.org/java/forums/m92181378.html

Sorry to be so harsh on you, but it's important to first get basic facts straight - like what a video actually says. That should be first, not namecalling and rants.

Maybe you should try digesting some basics, first. The Android API is Java-based, *all* Java libraries have C/C++ underneath, and a "correction" actually corrects a mistake.
Andy Tripp, CTO and Founder Jazillian - Legacy to 'natural' Java.
7 . At 9:10 PM on Nov 12, 2007, Mike P wrote:
  Click to reply to this thread Reply

Re: Android is out: First Looks

Very promising. Hopefully something a little more oomphy than jme/midp.
With acceleration and opengl we could have a lot of fun - I'm looking forward to it.

Sun got clouded with JavaFX, which doesn't *look* like it's going anywhere (correct me if I'm wrong), and Google picked up the slack (through their acquisition).

I just hope I get to do generics, upcoming language changes, and full jdk stuff like the concurrency libraries and stuff.
I don't like those cramped scaled down API's and given that hardware/memory is getting cheaper every day, I really ought to have a semi-full jdk feeling on mobiles.
8 . At 9:16 PM on Nov 12, 2007, Mike P wrote:
  Click to reply to this thread Reply

Re: Great news!

I refuse to become trapped into stupid contracts like almost everyone seem to.
Instead, I should be able to exchange data through my cheap pay-as-you-go Virgin Mobile cell phone through bluetooth.
And then there is Skype through Wifi. Wimax even. The Nokia N800 has all that from what I can tell.
I wonder how all those backing manufacturers will avoid Wifi/Wimax - the technologies that will kill them all.
9 . At 10:57 PM on Nov 12, 2007, Ben Loud wrote:
  Click to reply to this thread Reply

Re: Android is out: First Looks

I'm looking at their docs. http://code.google.com/android/intro/index.html

I obviously never expected them to go with Swing, nor even go with a standard Java SE or Java ME based solution, but I expected something similar, instead though it seems they've created many non-standard APIs when they could have used the standard ones that we're used to. The database API is not JDBC, nor does it look even remotely like it. The Graphics API again is completely unlike Java 2D. The ME world has also standardised many telephony APIs which Google seems to have completely ignored here.

Still, I'm excited about a modern Java based mobile platform that can compete with the iPhone. I'm just a little dissapointed they didnt play better with standard Java rather than reinventing the wheel.

I'm looking forward to their open sourcing of the rest of the platform. It will be interesting to see their video library, I wonder if we could find a way to use it in SE land. Im also wondering if they have any 2D code that might be useful for OpenJDK.

I'm also interested to learn more about their VM though if anyone has any details..
10 . At 12:14 AM on Nov 13, 2007, Ben Loud wrote:
  Click to reply to this thread Reply

Re: Android is out: First Looks

Also interesting that they chose Apache Harmony as the class library implementation rather than OpenJDK. Seems they wanted to avoid GPL code.
11 . At 12:17 AM on Nov 13, 2007, Ahmet A. Akin DeveloperZone Top 100 wrote:
  Click to reply to this thread Reply

Re: Android is out: First Looks

actually they do support jdbc (at least in the packeges, it is listed). But seems like they preferred to use a less cumbersome tailored api for the sqlite. this may not be bad.
12 . At 12:26 AM on Nov 13, 2007, Ben Loud wrote:
  Click to reply to this thread Reply

Re: Android is out: First Looks

You're right. I saw the android.database and android.database.sqllite packages but didnt notice it had java.sql too. My bad. Still, I lament the loss of Java 2D. It would have been cool to have Sun's OpenGL 2D pipeline. Unless Google managed to pull off something similar.
13 . At 1:03 AM on Nov 13, 2007, Tom wrote:
  Click to reply to this thread Reply

first native app

Although the SDK doesn't encourage it, apparently, it's quite easy to compile and run native apps:

http://benno.id.au/blog/2007/11/13/android-native-apps
14 . At 2:32 AM on Nov 13, 2007, Tom wrote:
  Click to reply to this thread Reply

Re: not the whole story

Andy, if you look at the architecture, it's clear that Android supports both native and Java-based development. The C libraries (green) are mostly open source and standard. In fact, people have already compiled and run the first C programs, even without SDK support.

I think Google (sensibly) decided to focus their message on the Java framework for the initial SDK release because that's where developers should focus their efforts. That's probably also why they removed the first video.

Whether that's a "win" for Java, you'll have to decide for yourself.

thread.rss_message