You are on page 1of 24

TUTORIAL WEBSERVICE NO ANDROID Devido grande dificuldade que encontrei para criao de um WebService para conectar ao Android, busquei

i uma forma para resolver meu problema e atravs desde tutorial estarei compartilhando, vamos l. Criao do WebService Para criao do WebService utilizei a IDE Netbeans a qual fornece muita facilidade para desenvolvimento de servios web. Abaixo mostro instrues de como proceder para criao do projeto:
Clique em Arquivo e escolha a opo Novo Projeto

Aps este procedimento ir aparecer o Assistente Novo Projeto

Selecione a Pasta Java Web

Selecione Aplicao Web

Aps Selecionar as opes clique no boto Prximo

Feito isto o Assistente ir para a prximo parte onde teremos que determinar o nome de nosso projeto:

Digita o nome do projeto. Aps isso clica no boto prximo.

A prxima parte ter que escolher o Servidor que ir hospedar nosso WebService em meu caso utilizou o Apache Tomcat 6.0.26:

Agora temos duas escolhas clicar no boto Prximo e ir para a ultima parte do Assistente parte, na qual podemos escolher algum tipo de Framework ou clicar no boto Finalizar em meu caso no utilizarei nenhum Framework. Clicando no boto Finalizar temos ento a visualizao na IDE Netbeans do projeto criado:

Nosso projeto .

Maravilha podemos dizer que temos 50% de nosso projeto pronto, mais ainda temos muito cho pela frente, vale lembrar que o Servio WEB ainda no foi criado, vamos fazer isso agora.

Para criarmos nosso WebService clique com o boto direito em cima do projeto Android, no menu que aparece escolha a opo Novo logo aps opo Outro, veja a figura abaixo:

Logo aps clicar na opo Outro ser apresentado o Assistente para Novo Arquivo:

Escolha a opo Servios Web

Aps escolher a opo Servios Web clique sobre a opo Servio Web

Aps fazer a escolha das opes clique no boto Prximo, ento teremos a prxima etapa do assistente onde vamos colocar o nome do nosso WebService e tambm um pacote os cdigos fontes iro ficar:

Nome do Servio Web

Nome do Pacote

Clicando no boto Finalizar temos ento nosso WebService agora teremos que implementar algum mtodo que ser disponibilizado para acesso externo em nosso caso para acesso por um projeto para Android.

WebService criado, com o nome e pacote especificado no assistente

Observe que a IDE Netbeans est reclamando um erro para ser corrigido, fique calmo isso normal quando criamos no servio web para resolver este problema temos que criar um mtodo que ser acessado externamente quando colocarmos no AR nosso WebService. Para isso clique boto esquerdo do mouse sobre o cone da lmpada amarela logo lhe ser apresentado uma opo veja figura abaixo:

Clique sobre a opo Adicionar nova operao

Feito isso ser apresentado o Assistente para Nova Operao:

E nesta parte onde voc ir colocar o nome do mtodo o tipo de retorno e tambm os parmetros, para adicionar parmetro em seu mtodo basta clicar sobre o boto Adicionar, veja figura:

possvel adicionar vrios parmetro e escolher tambm o tipo de cada um, por exemplo um parmetro com o nome de NUMERO com o tipo int, e assim por diante, na prxima figura deixarei o mtodo todo configurado veja:

Basta clicar na opo OK e pronto temos nosso primeiro mtodo criado para ser acessado externamente, este mtodo basicamente ir receber dois parmetro tipo inteiro e ir retornar a soma deles.

Mas para que este mtodo retorne a soma de dois inteiros temos que realizar ainda algumas modificaes veja a prxima figura:

No retorno passamos o n1+n2 com isso realizamos a soma dos dois numero que sero enviado para nosso webService.

Bem agora falta apenas publicar nosso servio no Servidor Tomcat e test-lo para ver se est funcionando. Na prxima etapa de nosso tutorial estaremos realizando este procedimento.

PUBLICANDO NOSSO SERVIO Bem temos tudo pronto agora basta publicar este procedimento muito simples veja a figura abaixo:

Clique com o boto direito em cima de projeto Android e escolha a opo Executar, realizando este procedimento estamos publicando nosso servio no servidor Tomcat.

Agora basta esperar um pouco at que seja apresentado uma pagina no internet Explorer ou outro navegador o qual voc esteja utilizando um pgina de Hello World!, igual a figura abaixo:

Com isso podemos ento realizar um teste para verificar se nosso servio web est funcionando, para isso veja a figura abaixo:
Procure a pasta Servios Web em nosso projeto Android

Localize o arquivo web que nosso WebService ento clique com o boto direito do mouse sobre ele, logo aparecer tela com algumas opes escolha a opo Testar servio Web.

Se tudo ocorreu bem deve aparecer em seu navegador um pagina semelhante a est:

Para testar o servio clique na opo: WSDL que passa um URL

Feito ser apresentado na pagina do navegar um arquivo XML, veja:

PRONTO OPERAO FINALIZADA COM SUCESSO TEMOS NOSSO WEBSERVICE IMPLEMENTADO AGORA FALTA CRIAR O PROJETO PARA

O ANDROID PASSAR PARAMETROS E OBTER O RETORNO DO WEBSERVICE. PROJETO ANDROID Bem finalizamos nosso projeto na IDE Netbeans onde criamos nosso WebService, agora vamos mudar de IDE vamos para o ECLIPSE onde vamos criar um projeto Android para conectar no webService. Estou usando o Eclipse Pulsar IDE voltada para desenvolvimento Mobile com o Eclipce aberto clique na opo FILE ---NEW---OTHER, veja figura abaixo:

Escolha a opo a pasta Android opo Android Project:

Clique em Next. Na prxima etapa do Assistente devemos colocar o nome em nosso projeto, definir a API alm de criar um pacote onde ir ficar os arquivos fontes de nosso projeto e tambm definir a primeira classe Activity, a figura abaixo mostra todos estes elementos configurados:

Feito as devidas configuraes basta clicar na opo Finish. OBS: VALE LEMBRAR QUE AS APIS DO ANDROID DEVEM ESTAR CONFIGURADAS CORRETAMENTE . Agora temos nosso projeto pronto para trabalhar:

Nosso projeto

USANDO A BIBLIOTECA KSOP2 Para que a conexo funcione devemos utilizar a biblioteca KSOAP2 , esta biblioteca est disponvel junto com os projetos que podem ser baixado junto com o tutorial. Vamos ver agora como fazemos para adicionar esta biblioteca em nosso projeto:

Clique com o boto direito em cima do projeto TesteWebService, escolha a opo Build Path e logo depois a opo Configura Build Path

Logo ir aparecer um Assistente veja figura abaixo:

Clique na opo Libraries

Clique no boto Add Externar JARs

Procure na pasta onde colocar o JAR do KSOP2.

Clique no boto ABRIR

Feito tudo corretamente ir aparecer juntos a Libs do Android a lib do KSOP2:

LIB do KSOP2

Tudo certa basta clicar no boto OK. Pronto com isso pode trabalhar sem problemas em nosso projeto.

CODIFICANDO NOSSO PROJETO Bem uma das partes mais interessantes do tutorial a conexo com o WebService vamos para a codificao veja figura:

No cdigo acima temos trs variveis estticas como o nome de OPERATION, NAMESPACE e SITE, as quais so de extrema importncia para o sucesso de nosso projeto: OPERATION = est varivel est inicializado com uma String chamada SOMA, isso porque foi o nome atribudo ao mtodo que criamos em nosso WebService lembram, foi criado no WebService um mtodo chamado SOMA que retornava a soma de dois inteiros; NAMESPACE = est varivel est inicializada com uma String chamada HTTP://WEBSERVICE/, isso porque em nosso arquivo XML que foi gerado quando realizamos o teste para verificar se o nosso WebService estava funcionando corretamente mostrou veja a figura abaixo:

Tem relao com o nome do pacote que demos quando criamos o projeto WebService, pacote o qual ficar armazenados os cdigos fontes do WebService.

SITE = est varivel est inicializada com uma String chamada http://localhost:8084/Android/web?wsdl o qual obtida tambm quando realizamos o teste do nosso WebService veja figura abaixo:

URL de conexo com o WebService

IMPORTANTE: Se vocs deixarem como localhost no ir funcionar isso porque o Android funciona como um dispositivo na rede, portanto deve haver rede para acessar o WebService, vamos supor que voc esteja com um situao onde no tem conexo com internet como proceder ento, em meu caso resolvi isso criando um rede entre meu NOTEBOOK E UMA OUTRO COMOUTADOR, e configurando um endereo IP para meu NOTEBOOK da ento em vez de usar localhost uso o endereo IP que defini nas configuraes de rede, a nova URL DE CONEXO: http://192.168.0.1:8084/Android/web?wsdl". Em vermelho est o endereo IP que atribui a meu NOTEBOOK, o resto continua igual.

MAIS CODIGO

Envia os parmetros para o WebService, OBS: cada propriedade deve ser igual ao parmetro criado no mtodo do WebService caso contrario no funciona

POSSIVEL ERRO: Cdigo envio.addProperty("n", 1); envio.addProperty("n2", 2); Note que no primeiro parmetro foi passado n sabemos que em nosso mtodo o parmetro est como n1 se passarmos apenas n este parmetro no ser aceito e a conexo no funciona. CONFIGURAO ANDROID MANIFEST Antes de executar o projeto devemos realizar um configurao bsica no android manifest para que nosso projeto funcione, devemos adicionar a seguinte linha: <uses-permission permission> android:name="android.permission.INTERNET"></uses-

Feito isso podemos realizar o teste veja a figura:

Clique com o boto direito do mouse sobre o projeto TesteWebService e escolha a opo Run As aps isso opo Android Application.

Feito isso s esperar o EMULADOR aparecer e mostrar o resultado veja figura abaixo:

Bem, acho que seria isso espero que tenham gostado do tutorial tentei ser o mais explicativo possvel, alm desse tutorial estou disponibilizando o cdigo fonte desse projeto e tambm o cdigo fonte do projeto que faz conexo com o banco de dados MYSQL, qualquer dvida entrar em contato pelo e-mail: fernandoesmaniotto@gmail.com Autor: Fernando Jos Esmaniotto Data: 19/03/2011

You might also like