Transformar Java Desktop para Java ME

Fala galera… eu nunca trabalhei com java ME, mas tive uma ideia de optimização do sistema da empresa aqui, eu tenho um programa que tem uma agenda simples, ela consulta o banco de dados do site e retorna os serviços e a localidade das empresas solicitantes. queria pegar essa agenda e passa-la para Java ME, tem alguma maneira facil de transformar classes de java Desktop para Java Mobile? eu tenho todos os códigos aqui… se alguem também pudesse me dar umas dicas e caminhos bacanas, eu agradeço! :wink:

Boa tarde,

Se você estiver utilizando Design Patterns fica mais facil, pois sua regra de negocio e consulta a dados não irão mudar.

Abrçss

bem… vai ser meio complicado, porque o j2ME tem muitas limitaçoes em relação ao j2SE, na minha opinião vc vai ter que destrinchar o java e adaptar as classes do programa para j2me. fazendo uma analogia: é como tirar o motor de uma Ferrari e colocar um Fusca, sem falar na dor de cabeça com a UI.

só com a comparação da ferrari com o fusca já deu pra entender… e se eu criasse uma pagina da web com essa agenda em php seria mais facil criar um aplicativo pra acessar ela? apenas linkando?

sim…

Eu vejo muitos sites criando aplicativos para androids para acessarem o seu site, eu queria fazer algo parecido com a agenda, e toda a sua funcionalidade estaria num página php, esses aplicativos são feitos em java? Alguem sabe?

Cara, faz o seguinte…

Utilize JSF + PrimeFaces…

O prime faces possui um .jar so para aplicativos moveis…

da uma lida la …

http://www.primefaces.org/showcase-labs/mobile/index.jsf

Faloww

sobre o acesso ao BD atraves do celular:

  1. vc pode usar o sistema WAP
  2. ou o WEB SERVICE
    O 1 é mais facil , porem o celular deve possuir um minibrowser capaz de interpretar documentos WML

exemplo de Codigo PHP para acesso ao Banco de Dados:

<?php ? $query = "SELECT nome,modelo,marca,placa,ipva,chassi FROM carros WHERE placa='$placa'"; ???. $result = mysql_query($query); if (mysql_num_rows($result) > 0){ while ($row = mysql_fetch_array($result)){ echo "
NOME: " . $row['nome'] . "
MODELO: " . $row['modelo'] "
MARCA: " . $row['marca'] . "
PLACA: " . ???..

[quote=ramonsis]Boa tarde,

Se você estiver utilizando Design Patterns fica mais facil, pois sua regra de negocio e consulta a dados não irão mudar.
Abrçss[/quote]

Isso não é verdade!
Muita coisa muda quando vc tenta fazer uma aplicação móvel.

1º - Android
Se for fazer um sistema pra Android, vc terá que refazer toda a interface gráfica.
Terá que refazer a parte de persistência (Banco de dados), porque o Android comunica somente com Sqlite. Os SQLs são diferentes, a maneira de conectar é diferente.
Se vc for persistir direto na rede, terá que desenvolver uma interface que comunique com o BD por vc (PHP, Java).

2º Java ME
Se vc for usar o Java ME, vc terá que refazer toda a interface gráfica.
Para a persistência de dados, não poderá usar banco de dados, porque os dispositivos com Windows Mobile são muito limitados e a maioria dos banco de dados pra palm são lentos.

Resumindo, se vc quer passar todo um programa pra celular, aviso que vc terá muito trabalho.

eliangela, eu tive uma ideia de fazer uma página toda processada em php, é muito difícil fazer um app de android que acesse direto na pagina? e o android roda o php normal, sabe me informar sobre isso?

vc quer implementar pra Android ou j2me? ambos sao diferentes. Mas ja digo que j2me é bem mais limitado que o Android!

Dei uma lida, e J2ME seria quse impossível a implementação, daria muito trabalho, decidi que vai ser para android.
Alguem tem algum conhecimento em android ai?

JSE roda parcialmente no JME. Para qualquer duvida, veja a especificação do CLDC/CDC.
Diante disso é impossível adptar caso sua aplicação não tenha dependências de API’s não validas ser executada dentro do JME. Sendo assim, vc teria que refator a solução toda mesmo. Por exemplo JME não tem capacidade de fazer conexão com SOCKET e por isso JDBC não estara disponivel para JME. E por ai vai…

E possível sim…O que nos normalmente fazemos é escrever uma camada “native client” em JME que acessa a solução via REST. Esse é caso clássico de arquitetura Middleman - http://developers.sun.com/mobility/midp/articles/socketRMI/

Pra fazer essa comunicação, vc teria que enviar dados via POST para o PHP.
Este é um exemplo: http://www.helloandroid.com/tutorials/connecting-mysql-database