Java is actually an idiotic choice for mobile devices. Running on an interpreter means it uses many times the battery power to get things done compared to native apps.
I'd contend that view is outdated, partly because hardware's moved on just enough to allow for a software layer with extra fat, but mostly because the market's shown that android has been hugely successful - with good reason. We can argue over what the reason might be, but is it idiotic to find a solution that sells so well in spite of increased power consumption? I can't agree with that.