Думаю, уже нет смысла распространяться о том, почему Java стал предпочтительным языком (language of choice) при программировании мобильных устройств. Однако каждое мобильное устройство имеет свою специфику, и при всей кросс-платформенности Java структура даже самого простого приложения может выглядеть по-разному для разных типов устройств