Android: why not just improve JME or phoneME?

by bboyes » Thu, 03 Sep 2009 00:15:32 GMT

Sponsored Links
 > What I didnt like is this redefiniton of concepts like events etc. I

I have wondered the same thing since all my experience to date is with
J2ME on industrial embedded systems (not phone aps). Phone apps use
PhoneME which is much more restricted than the embedded Java systems
we use. We must have access to the hardware, file system, low level
event and interrupt access, etc to support I/O devices which vary from
application to application.

What strikes me is that phoneME is stuck in the past, whereas Android
assumes some current hardware base. phoneME lets you run one app at a
time with strong sandbox restrictions, no data sharing, no built in
database, and you need a dozen JSRs to support everything (ref the
high end Sony phones like K850 which still has no keyboard, dinky
screen, no touch support). It's a painful environment in which to make
something useful. Plus if you want to license phoneME you must shell
out around US$100K to Sun for a full JME license. You can't just get
part for less (say you just want the Squawk VM to build SunSPOTS).
It's all or nothing. So clearly Sun does not want every small company
in the world deploying JME commercially. Check out the headache Bug
Labs had with that.

I blogged a bit about this: 

So it is fascinating that Eric Schmidt (once the manager of Java
development at Sun!) chose to NOT license JME from Sun (http:// but to roll
Dalvik instead. I can see why Google chose to step into the present
instead of suffering with limits that made sense 10+ years ago...
still, it's a valid question, and a real shame that Sun could not work
together with Google, IBM, and others to make Squawk or JME much more
like what Android is now. Perhaps that is part of why they got snapped
up by Oracle at a bargain-basement price, and why my Sun stock is
worth 10% of what I paid.

Other Threads

1. NullPointerException when trying to create TelephonyManager

I am trying to get the unique device ID inside my Application class

public class ApplicationClass extends Application

    public ApplicationClass()
        TelephonyManager mTelephonyMgr =
        deviceID = mTelephonyMgr.getDeviceId();

My code will run right until it gets to creating the telephony manager
instance but will not actually create it and it throws a
NullPointerException (I think).

Is there something I'm doing wrong?  Do I have to create a context and
call getSystemService(...) with context.getSystemService(...)?

I also get the same error when I comment those two lines out and try
to get the LocationManager:

locationManager =

Same exact error happens.   Am I only allowed to call getSystemService
inside of an Activity class because I've tried calling it in a Service
and of course Application with no luck.

Any help is appreciated.


2. Deploying Custom Configuration with My Android App

I was thinking now about using a well-known DNS prefix and using the
WiFis default DNS Suffix to load the initial config. Once a config has
been loaded though, it will not ever use that server again (unless the
new config points to itself, but would recommend against this to
minimize the chance or introducing rogue configurations).


3. Can some one explain Looper and its significance in Background services

4. Tempat jual HTC Desire di Surabaya atau di JOgjakart

5. UPDATE..[WTB]x10 minipro

6. APN Telkomsel

7. Data backup in android