Qual a diferença entre Java para JRE e Java para Android?

13

Eu sou novo em todo esse jogo em desenvolvimento e estou começando a aprender java porque me disseram que era uma ótima maneira de começar. Mais tarde, quero criar jogos para o Android Market e quero ter uma boa visão de vocês, para que eu saiba exatamente com o que estou lidando.

Eu percebo que o desenvolvimento do Android tem arquiteturas diferentes e outros enfeites (que é uma boa maneira de dizer isso?)

Obrigado!

Sem asas
fonte
4
Para o que vale a pena, os aplicativos Android geralmente são escritos em Java. A diferença entre os dois é que "Android" é um sistema operacional e "Java" é uma linguagem de programação. Eles servem a propósitos diferentes (sem sobreposição).
Dash-tom-bang
Título da pergunta do OP esclarecido.
Engenheiro de

Respostas:

13

Para criar aplicativos Android, você usa Java e as bibliotecas de extensão fornecidas pelo Android. Essas não são extensões da linguagem Java; Quero dizer bibliotecas enviadas com o Android para ajudá-lo a alcançar as coisas comuns que você gostaria de fazer em um telefone celular.

Por exemplo, o Blackberry ( outro sistema operacional móvel baseado em Java ) usa Java como a linguagem de escolha, e a Research In Motion fornece um conjunto de bibliotecas no pacote RIM que me ajuda a abstrair as coisas que eu normalmente faria no meu telefone.

Você pode usar Java puro, mas na maioria das vezes deseja usar as bibliotecas RIM fornecidas pela RIM.

Se você é completamente novo em programação, eu recomendaria primeiro aprender bons princípios Java - classes, métodos, programação orientada a objetos, etc; aprendendo a API do Android fornecida pelo Google. Se você aprender o Android primeiro, ficará confuso rapidamente e não seguirá as boas práticas de programação.

Eu recomendo começar com o livro Head First Java .


fonte
4

O Android usa seu próprio Java como implementação. Você escreve código de sintaxe Java e pode usar muitas APIs Java, mas há muitas diferenças:

  • Os aplicativos Android têm um ciclo de vida especial:
    • nenhuma função principal
    • seus aplicativos contêm atividades com as funções onCreate, onResume, onPause, onDestroy que você deve substituir
  • O código é compilado nos opcodes Dalvik (não no código de java byte);
  • Muitas APIs são semelhantes, mas você não possui todas as APIs do J2SE. Você deve verificar no site do desenvolvedor ;
  • Muitas APIs são limitadas ao Android (contatos, gerenciamento de energia, gráficos ...);
  • IHM são apenas para Android (sem Swing, sem JavaFX ...). Você deve usar XML para declarar sua GUI;
  • você pode usar java jars (se eles usarem apenas APIs compatíveis), mas eles serão convertidos no dalvik.

Então, é como uma nova plataforma; mas, se você conhece Java, é muito fácil desenvolver no Android. Faça o download do SDK e tente brincar com as amostras fornecidas e personalizá-las. Você pode usar um bom IDE como Eclipse e Idea (o plug-in Android chegará nas edições da comunidade Idea 10).

Para os geeks de C / C ++, é possível usar o NDK (Native Development Kit), mas é necessário algum código de inicialização Java e conhecimento de JNI.

Ellis
fonte