Tenho uma aplicação servidora que contém as minhas tabelas no BD MySql rodando com Apache.
Faço um SQL para selecionar todos os registros de meu interesse e envio para o celular.
Pergunto : Como faço para tratar esses dados que recebi do servidor a ponto de colocar cada campo em seu devido lugar? Por exemplo: nome cidade separado do nome da pessoa, pois são coisas diferentes.
Utilizo os projetos KSoap e KXml da Object Web, que adicionam suporte à XML e ao Protocolo Soap no J2ME. Eu uso o Tomcat 5.5 como servidor. Na minha classe J2SE que está no servidor, com a extensão ‘.jws’ eu dou um SELECT no BD e ele me retorna uma String. Capturo essa String pelo KSOAP e passo como parâmetro no meu TextBox do MIDlet e retorno na tela:
Exemplo:
Método no Servidor:
public String getName(String name) {
try {
SQL = "SELECT nome FROM minha_tabela WHERE nome='"+name()+"'";
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
this.nome = rs.getString("nome");
}
}
catch(SQLException e){
e.printStackTrace();
}
return this.nome;
}
Método com o KSOAP:
public String getName(String name) throws Exception {
stringBuffer = new StringBuffer();
/* Prepara a requisição */
SoapObject client = new SoapObject(url,"getName");
/* Passa os parâmetros */
client.addProperty("name",new String(name));
/* Faz a requisição e recebe a resposta */
HttpTransport ht = new HttpTransport(url,"getName");
stringBuffer.append("" + ht.call(client));
/* Retorna o resultado */
return stringBuffer.toString();
}
Qualquer dúvida é só falar…
P
PAONIPJ
Ahh, esqueci: Daí você cria quantos métodos forem necessários para as informações que você quer retirar do BD…
A
armaserosasPJ
Beleza, mas utilizo PHP triad, como faço para inserir os projetos KSoap e KXml da Object Web, que adicionam suporte à XML, hehe.
* SeuProjetoJ2ME
o org
+ kxml
+ -- Todas as suas pastas e arquivos internos a esta pasta que estão no zip. kobjects
+ -- Todas as suas pastas e arquivos internos a esta pasta que estão no zip. ksoap
# transport
-- Necessário excluir o pacote marshal.
Não serão utilizadas as pastas referentes a servlets e a j2se do ksoap. Somente referente a J2ME e ao fonte básico. Não sei como vai ser aí no seu caso, pois não conheço o PHP triad, mas com o Eclipse, Tomcat e EclipseME, posso te garantir que funciona.
O
ownluxPJ
ola…
To com mta duvida nisso galera
.
…
/* Prepara a requisição */
SoapObject client = new SoapObject(url,“getName”);
/* Passa os parâmetros */ client.addProperty(“name”,new String(name));