Android e java

8 respostas
S

Gente, estou com uma dúvida, se eu fizer um programa em java , ele vai rodar no android , ou precisa de alguma outra coisa?

*Não sabia aonde postar!

Agradeço as respostas!

8 Respostas

J

Roda entre aspas " ".

  1. Android e java são plataformas distintas. Coisas diferentes;
  2. Plataforma android usa somente a linguagem de programação java como ferramenta de desenvolvimento(o android não roda bytecode java)

Acontece da seguinte maneira:

Você escreve o software usando o jdk. O resultado(bytecode) é convertido para o assembly da dalvik(que é um bytecode também) através de uma ferramenta de conversão. Isso é necessário porque a jvm é um processador baseado em pilha, enquanto a dalvik é um processador baseado em registradores.

Grande parte do núcleo da plataforma java está implementada na dalvik, ou seja, se você escrever seu software sem usar frameworks(swing, swt e outros) ele será quase 100% portável para o android. Para interface gráfica você deve usar o toolkit do android.

S

Entendi… Então , por exemplo, pra eu conseguir fazer um programa rodar em android e em pc, eu tenho que fazer interfaces java separadas, uma em JDK pra PC e a outra em Dalvik para Android?

J

Andre Lopes:
Entendi… Então , por exemplo, pra eu conseguir fazer um programa rodar em android e em pc, eu tenho que fazer interfaces java separadas, uma em JDK pra PC e a outra em Dalvik para Android?

é mais ou menos isso.
você pode criar um set de bibliotecas que irá rodar nas duas plataformas, mas a interface gráfica irá ter toolkits diferentes.

É um erro dizer que o android é java, porque são plataformas diferentes.

S

Entnão, é porque estou desenvolvendo um programa em java, e queria rodar ele no android! Aí no caso, o que voce me recomenda?

Ele tem interface java e algumas classes!

I

Andre Lopes:
Entendi… Então , por exemplo, pra eu conseguir fazer um programa rodar em android e em pc, eu tenho que fazer interfaces java separadas, uma em JDK pra PC e a outra em Dalvik para Android?

Não.
para rodar um programa em android voce precisa construir toda arquitetura do seu programa pensando no android.
Questões como modelo, padrões, persistência, interface grafica, gerenciamento de ciclo de vida e etc. é completamente diferente em cada caso.

J

immortalSoul:
Andre Lopes:
Entendi… Então , por exemplo, pra eu conseguir fazer um programa rodar em android e em pc, eu tenho que fazer interfaces java separadas, uma em JDK pra PC e a outra em Dalvik para Android?

Não.
para rodar um programa em android voce precisa construir toda arquitetura do seu programa pensando no android.
Questões como modelo, padrões, persistência, interface grafica, gerenciamento de ciclo de vida e etc. é completamente diferente em cada caso.

Isso mesmo. A arquitetura da aplicação é completamente diferente. A única maneira de reutilizar código é aplicar conceitos de bibliotecas. Mas mesmo assim, a aplicação android em si é uma coisa completamente diferente de uma aplicação desktop.

F

Como disseram, se fizer em bibliotecas, usando o NDK, com os .SO da vida, tu reaproveita, de resto, do código java acho que salvaria as classes de negocio, mas qualquer coisa diferente como acessar um BD ja daria zica!

M

Voce pode usar bibliotecas Java no seu aplicativo Android, Bytecode Java é convertido para Dalvik bytecode(nunca testei), mas tenha em mente que Android tem uma estrutura totalmente diferente de um projeto Java.

Você tera que criar toda sua aplicação com os recursos Android, usando apenas o outro projeto como biblioteca.

Criado 12 de janeiro de 2012
Ultima resposta 13 de jan. de 2012
Respostas 8
Participantes 5