tutorial webservice no android

24
TUTORIAL WEBSERVICE NO ANDROID Devido à grande dificuldade que encontrei para criação de um WebService para conectar ao Android, busquei uma forma para resolver meu problema e através desde tutorial estarei compartilhando, vamos lá. Criação do WebService Para criação do WebService utilizei a IDE Netbeans a qual fornece muita facilidade para desenvolvimento de serviços web. Abaixo mostro instruções de como proceder para criação do projeto: Após este procedimento irá aparecer o Assistente Novo Projeto Clique em Arquivo e escolha a opção Novo Projeto

Upload: caio-magno

Post on 05-Dec-2014

156 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Tutorial Webservice No Android

TUTORIAL WEBSERVICE NO ANDROID

Devido à grande dificuldade que encontrei para criação de um WebService para conectar ao Android, busquei uma forma para resolver meu problema e através desde tutorial estarei compartilhando, vamos lá.

Criação do WebService

Para criação do WebService utilizei a IDE Netbeans a qual fornece muita facilidade para desenvolvimento de serviços web. Abaixo mostro instruções de como proceder para criação do projeto:

Após este procedimento irá aparecer o Assistente Novo Projeto

Clique em Arquivo e escolha a opção

Novo Projeto

Page 2: Tutorial Webservice No Android

Feito isto o Assistente irá para a próximo parte onde teremos que determinar o nome de nosso projeto:

Selecione a Pasta

Java Web Selecione Aplicação

Web

Após Selecionar as opções clique

no botão Próximo

Digita o nome do

projeto. Após isso

clica no botão

próximo.

Page 3: Tutorial Webservice No Android

A próxima 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 botão Próximo e ir para a ultima parte do Assistente parte, na qual podemos escolher algum tipo de Framework ou clicar no botão Finalizar em meu caso não utilizarei nenhum Framework. Clicando no botão Finalizar temos então a visualização na IDE Netbeans do projeto criado:

Maravilha podemos dizer que temos 50% de nosso projeto pronto, mais ainda temos muito chão pela frente, vale lembrar que o Serviço WEB ainda não foi criado, vamos fazer isso agora.

Nosso projeto .

Page 4: Tutorial Webservice No Android

Logo após clicar na opção Outro será apresentado o Assistente para Novo Arquivo:

Para criarmos nosso WebService clique com o botão direito em

cima do projeto Android, no menu que aparece escolha a opção

Novo logo após opção Outro, veja a figura abaixo:

Page 5: Tutorial Webservice No Android

Após fazer a escolha das opções clique no botão Próximo, então teremos a próxima etapa do assistente onde vamos colocar o nome do nosso WebService e também um pacote os códigos fontes irão ficar:

Escolha a opção Serviços Web

Após escolher a opção Serviços

Web clique sobre a opção Serviço

Web

Nome do Serviço Web

Nome do Pacote

Page 6: Tutorial Webservice No Android

Clicando no botão Finalizar temos então nosso WebService agora teremos que implementar algum método 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 serviço web para resolver este problema

temos que criar um método que será acessado externamente quando colocarmos no

AR nosso WebService. Para isso clique botão esquerdo do mouse sobre o ícone da

lâmpada amarela logo lhe será apresentado uma opção veja figura abaixo:

Clique sobre a opção Adicionar

nova operação

Page 7: Tutorial Webservice No Android

Feito isso será apresentado o Assistente para Nova Operação:

E nesta parte onde você irá colocar o nome do método o tipo de retorno e também os parâmetros, para adicionar parâmetro em seu método basta clicar sobre o botão Adicionar, veja figura:

Page 8: Tutorial Webservice No Android

É possível adicionar vários parâmetro e escolher também o tipo de cada um, por exemplo um parâmetro com o nome de NUMERO com o tipo int, e assim por diante, na próxima figura deixarei o método todo configurado veja:

Page 9: Tutorial Webservice No Android

Basta clicar na opção OK e pronto temos nosso primeiro método criado para ser acessado externamente, este método basicamente irá receber dois parâmetro tipo inteiro e irá retornar a soma deles.

Mas para que este método retorne a soma de dois inteiros temos que realizar ainda algumas modificações veja a próxima figura:

Bem agora falta apenas publicar nosso serviço no Servidor Tomcat e testá-lo para ver se está funcionando. Na próxima etapa de nosso tutorial estaremos realizando este procedimento.

No retorno passamos o n1+n2

com isso realizamos a soma dos

dois numero que serão enviado

para nosso webService.

Page 10: Tutorial Webservice No Android

PUBLICANDO NOSSO SERVIÇO

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

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

Clique com o botão direito em

cima de projeto Android e escolha

a opção Executar, realizando este

procedimento estamos

publicando nosso serviço no

servidor Tomcat.

Page 11: Tutorial Webservice No Android

Com isso podemos então realizar um teste para verificar se nosso serviço web está funcionando, para isso veja a figura abaixo:

Procure a pasta Serviços Web em

nosso projeto Android

Localize o arquivo web que é

nosso WebService então clique

com o botão direito do mouse

sobre ele, logo aparecerá tela

com algumas opções escolha a

opção Testar serviço Web.

Page 12: Tutorial Webservice No Android

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

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

PRONTO OPERAÇÃO FINALIZADA COM SUCESSO TEMOS NOSSO WEBSERVICE IMPLEMENTADO AGORA FALTA CRIAR O PROJETO PARA

Para testar o serviço clique na opção: WSDL que passa

um URL

Page 13: Tutorial Webservice No Android

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 opção FILE ---NEW---OTHER, veja figura abaixo:

Escolha a opção a pasta Android opção Android Project:

Page 14: Tutorial Webservice No Android

Clique em Next.

Na próxima etapa do Assistente devemos colocar o nome em nosso projeto, definir a API além de criar um pacote onde irá ficar os arquivos fontes de nosso projeto e também definir a primeira classe Activity, a figura abaixo mostra todos estes elementos configurados:

Page 15: Tutorial Webservice No Android

Feito as devidas configurações basta clicar na opção Finish.

OBS: VALE LEMBRAR QUE AS APIS DO ANDROID DEVEM ESTAR CONFIGURADAS CORRETAMENTE .

Agora temos nosso projeto pronto para trabalhar:

Page 16: Tutorial Webservice No Android

USANDO A BIBLIOTECA KSOP2

Para que a conexão funcione devemos utilizar a biblioteca KSOAP2 , esta biblioteca está disponível junto com os projetos que podem ser baixado junto com o tutorial. Vamos ver agora como fazemos para adicionar esta biblioteca em nosso projeto:

Nosso projeto

Page 17: Tutorial Webservice No Android

Logo irá aparecer um Assistente veja figura abaixo:

Clique com o botão

direito em cima do

projeto

TesteWebService,

escolha a opção Build

Path e logo depois a

opção Configura Build

Path

Page 18: Tutorial Webservice No Android

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

Clique na opção Libraries

Clique no botão Add Externar JARs

Procure na pasta onde colocar o JAR

do KSOP2.

Clique no botão ABRIR

Page 19: Tutorial Webservice No Android

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

CODIFICANDO NOSSO PROJETO

Bem uma das partes mais interessantes do tutorial a conexão com o WebService vamos para a codificação veja figura:

LIB do KSOP2

Page 20: Tutorial Webservice No Android

No código acima temos três variáveis estáticas como o nome de OPERATION, NAMESPACE e SITE, as quais são de extrema importância para o sucesso de nosso projeto:

OPERATION = está variável está inicializado com uma String chamada SOMA, isso porque foi o nome atribuído ao método que criamos em nosso WebService lembram, foi criado no WebService um método chamado SOMA que retornava a soma de dois inteiros;

NAMESPACE = está variável 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 relação com o nome do pacote que demos quando criamos o projeto WebService, pacote o qual ficar armazenados os códigos fontes do WebService.

Page 21: Tutorial Webservice No Android

SITE = está variável está inicializada com uma String chamada http://localhost:8084/Android/web?wsdl o qual é obtida também quando realizamos o teste do nosso WebService veja figura abaixo:

IMPORTANTE:

Se vocês deixarem como localhost não 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 situação onde não tem conexão com internet como proceder então, em meu caso resolvi isso criando um rede entre meu NOTEBOOK E UMA OUTRO COMOUTADOR, e configurando um endereço IP para meu NOTEBOOK daí então em vez de usar localhost uso o endereço IP que defini nas configurações de rede, a nova URL DE CONEXÃO: http://192.168.0.1:8084/Android/web?wsdl". Em vermelho está o endereço IP que atribui a meu NOTEBOOK, o resto continua igual.

MAIS CODIGO

URL de conexão com o WebService

Page 22: Tutorial Webservice No Android

POSSIVEL ERRO:

Código

envio.addProperty("n", 1); envio.addProperty("n2", 2);

Note que no primeiro parâmetro foi passado “n” sabemos que em nosso método o parâmetro está como n1 se passarmos apenas n este parâmetro não será aceito e a conexão não funciona.

CONFIGURAÇÃO ANDROID MANIFEST

Antes de executar o projeto devemos realizar um configuração básica no android manifest para que nosso projeto funcione, devemos adicionar a seguinte linha:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

Feito isso podemos realizar o teste veja a figura:

Envia os parâmetros para o

WebService, OBS: cada

propriedade deve ser igual ao

parâmetro criado no método do

WebService caso contrario não

funciona

Page 23: Tutorial Webservice No Android

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

Clique com o botão direito do

mouse sobre o projeto

TesteWebService e escolha a

opção Run As após isso opção

Android Application.

Page 24: Tutorial Webservice No Android

Bem, acho que seria isso espero que tenham gostado do tutorial tentei ser o mais explicativo possível, além desse tutorial estou disponibilizando o código fonte desse projeto e também o código fonte do projeto que faz conexão com o banco de dados MYSQL, qualquer dúvida entrar em contato pelo e-mail: [email protected]

Autor: Fernando José Esmaniotto

Data: 19/03/2011