Simples Formulário na APP Android Comunicando com Servidor Web PHP

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

Email inválido.
Blog /Android /Simples Formulário na APP Android Comunicando com Servidor Web PHP

Simples Formulário na APP Android Comunicando com Servidor Web PHP

Vinícius Thiengo
(17409) (23)
Go-ahead
"Seja inegavelmente bom. Nenhum esforço de marketing ou moda de mídia social pode ser um substituto para isso."
Anthony Volodkin
Kotlin Android
Capa do livro Mapas Android de Alta Qualidade - Masterização Android
TítuloMapas Android de Alta Qualidade - Masterização Android
CategoriasAndroid, Kotlin, Masterização, Especialização
AutorVinícius Thiengo
Edição
Ano2020
Capítulos11
Páginas166
Acessar Livro
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
Email inválido

Tudo bem?

Se você chegou até esta aula é porque muito provavelmente você está iniciando no desenvolvimento de aplicativos Android, certo?

Até acredito que você já tenha feito um mínimo "Hello World!". E sim, depois do "Hello World!" eu fortemente recomendo também o estudo e entendimento aprofundado das comunicações remotas partindo de aplicativos Android.

E este conteúdo, a vídeo aula acima, nos dias de hoje vai na verdade lhe dar uma maior clareza sobre como tudo realmente funciona.

Digo isso, pois as APIs utilizadas no vídeo acima, apesar de em 2014 (quando essa vídeo aula foi feita) terem sido APIs "fora de série". Hoje em dia algumas delas nem mesmo estão mais disponíveis no Android.

Então sim, leia este artigo e assista à vídeo aula por completo. Pois mesmo que de maneira superficial alguns assuntos, você entenderá sobre:

  • Como funciona o fluxo da comunicação remota Android ➙ backend Web;
  • O que é e como trabalhar com a Thread Principal (ou Thread UI) no Android;
  • O que é e como trabalhar com Threads Secundárias no Android;
  • Que o backend Web pode ser em qualquer linguagem e não somente com o PHP (backend utilizado no projeto de exemplo);
  • A importância de se definir as permissões corretas para um projeto de aplicativo Android.

E ai sim, depois de ter consumido todo o conteúdo desta aula eu vou pedir que você vá a algo mais atual.

Construa seus formulários Android com APIs atuais e muito utilizadas pela comunidade de desenvolvedores mobile.

E para comunicação remota eu seguramente lhe afirmo que a principal API é a Retrofit.

A seguir os links para download dos JARs apresentados na vídeo aula (isso se você quiser, de alguma maneira, implementar passo a passo o projeto Android de exemplo):

Projeto Java Android de exemplo

Então é isso.

Antes de finalizar, deixo abaixo alguns links de outros conteúdos do Blog que lhe colocarão em dia com o que há de atual no mercado de desenvolvimento de aplicativos Android:

E caso você tenha como meta aprender a criar aplicativos, ou evoluir nesta área, também com o conteúdo gratuito do Blog e canal, então não deixe de acessar a lista de estudos em:

Não esqueça de se inscrever 📫 na lista de e-mails do Blog para receber os conteúdos Android em primeira mão e também em formato PDF (esse formato é liberado somente para os inscritos na lista de e-mails).

Se inscreva também no canal do Blog no YouTube para acompanhar as últimas novidades.

Surgindo dúvidas ou dicas, pode enviar abaixo na área de comentários que logo eu lhe retorno.

Obs. : o link para download do projeto apresentado na vídeo aula se encontra logo abaixo no artigo, mais precisamente na seção "Download".

Abraço.

Fontes

Documentação oficial HttpClient Android

Documentação oficial DefaultHttpClient Android

Documentação oficial HttpPost Android

Documentação oficial NameValuePair Android

Documentação oficial UrlEncodedFormEntity Android

Documentação oficial BasicNameValuePair Android

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
Email inválido

Relacionado

runOnUiThread, Atalho de Acesso a Thread Principal no AndroidrunOnUiThread, Atalho de Acesso a Thread Principal no AndroidAndroid
TextToSpeech: Fazendo Sua APP Android FalarTextToSpeech: Fazendo Sua APP Android FalarAndroid
onSaveInstanceState, Bitmap e Serializable no Android. CorreçãoonSaveInstanceState, Bitmap e Serializable no Android. CorreçãoAndroid
Acessando Imagens do SDCard e Colocando na APP AndroidAcessando Imagens do SDCard e Colocando na APP AndroidAndroid

Compartilhar

Comentários Facebook

Comentários Blog (23)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
Renato Almeida (1) (0)
01/03/2017
Iae Thiengo tudo bem!?
Cara! Queria uma ajuda, estou a quase uma semana tentando conectar meu App ao WebService PHP Restful, mas não tenho resposta, uso localhost por enquanto! Você poderia me guiar a uma solução? Já usei varias classes de conexão, desde o JSONParser até o HttpUrlConnection, e não dá certo!
Responder
Vinícius Thiengo (1) (0)
02/03/2017
Renato, tudo bem?

Ao invés de utilizar o localhost, utilize o IP interno de sua máquina, digo, o IP que seu router fornece a sua máquina.

Caso esteja com o Windows, no com ?ipconfig" no prompt de comando você consegue ter acesso a esse IPv4.

Veja, por exemplo, como trabalho a URL de conexão com meu localhost no projeto de exemplo do vídeo do link a seguir: http://www.thiengo.com.br/3-estrategias-para-informar-sobre-uma-nova-versao-de-seu-aplicativo-android#title-39

Assim, com o IP, deve funcionar sem problemas, tanto com o emulador quanto com o device real.

Abraço.
Responder
Jairo Souza (1) (0)
25/06/2016
Fala Vinícius Thiengo, cara estou a dias atrás de uma solução para uma aplicação, eu necessito enviar video, imagem, e um arquivo(PDF), para um servidor php, você já fez algo parecido, poderia me dar uma luz, desde já agradeço.
Responder
Vinícius Thiengo (0) (0)
25/06/2016
Fala Jairo, blz?
O Retrofit 2.0 (http://www.thiengo.com.br/library-retrofit-2-no-android ) faz isso para ti. Abraço
Responder
Carlos (0) (0)
03/05/2016
Não está reconhecendo as classes do arquivo, dá erro nos import, o que pode ser?
Responder
Vinícius Thiengo (1) (0)
04/05/2016
Fala Carlos, blz?
Esse post é antigo, algumas entidades não mais estão dentro do Android. Veja esse (http://www.thiengo.com.br/library-retrofit-2-no-android ) para trabalhar com envio de dados (incluindo formulário) e recebimento tb. Abraço
Responder
Cliciano (0) (0)
19/03/2016
Tenho um webservice Rest e um banco de dados Mysql, gostaria de enviar dados de um formulário no android para a minha base dados, utilizando esse exemplo é possível ou existe alguma particularidade?
Responder
Vinícius Thiengo (0) (0)
20/03/2016
Fala Cliciano, blz?
A base para montar o formulário e obter os dados das views desse formulário o vídeo acima pode ser útil, mas para enviar ou buscar dados a uma servidor REST utilize o Retrofit 2.0 (http://www.thiengo.com.br/library-retrofit-2-no-android ). Abraço
Responder
17/02/2016
Olá pessoal,

Segui todas etapas do tutorial e infelizmente meu app sempre fecha ao tentar enviar os dados para o servidor.

Já conferi as permissões do android manifest, já conferi o arquivo do servidor e o logcat.

Simplismente os dados não são enviados.

Alguém poderia me ajudar?
Responder
Vinícius Thiengo (0) (0)
17/02/2016
Fala Ygor, blz?
Utilize o vídeo do Retrofit 2.0 (http://www.thiengo.com.br/library-retrofit-2-no-android ) para enviar e receber dados do servidor. Esse vídeo aqui está antigo, algumas das entidades utilizadas nele não mais estão ativas no Android (deprecated). Abraço
Responder
17/02/2016
Obrigado pelo rápido retorno Vinicius,

Vou utilizar o vídeo que você me indicou,
Abs
Responder
Cleiton Ferreira (2) (0)
08/02/2016
Só para ajudar algumas pessoas que estão construindo este exemplo com o Android Studio com as recentes API do android.
Importar as libs normalmente  e inserir no gradle:

android {
    useLibrary 'org.apache.http.legacy'
}

Espero ter ajudado, recentemente estive com este problema. Vlw.
Responder
12/01/2016
Vi sua aula: Simples Formulário na APP Android Comunicando com Servidor Web PHP
Baixei o projeto e estou tentando carrega-lo, porem, acredito faltar alguma informação.
Qual versão do eclipse usar para abrir o projeto ?  Tem mais configurações a serem realizadas ?
Por favor, preciso muito de sua ajuda para conseguir ler e gravar dados banco de dados php com app android.
Responder
Vinícius Thiengo (1) (0)
13/01/2016
Fala Joselito, blz?

Veja essa série (https://www.youtube.com/playlist?list=PLBA57K2L2RIKq7_IpaZRTL96CyLNDzF2F ), ela é mais atual e já utilizo o Android Studio.

Se mesmo assim não for ainda possível utilizar o Android Studio em sua máquina, utilize o Eclipse com o Gradle system (tutorial de instalação: http://www.vogella.com/tutorials/EclipseGradle/article.html ). Abraço
Responder
30/07/2015
Opa Thiengo, blz?
Só uma dúvida, como faço para enviar o formulário direto para o email do cliente?
Estou trabalhando com Android Studio, como adiciono as .jars na lib ?
Desde já obrigado.
Responder
Vinícius Thiengo (1) (0)
31/07/2015
Fala Andre, blz sim.
A maneira que encontrei de enviar HTML via email Android foi como nessa resposta do stack (http://stackoverflow.com/a/2745702/2578331 ). Para adicionar as libs, primeiro veja se já não tem libs no GitHub ou outro repositório. Se encontradas, provavelmente estarão sendo vinculadas via gradle compile. Se não encontrar a versão via compile, veja essa resposta (http://stackoverflow.com/a/16628496/2578331 ) para ver como adicionar os jars. Abraço
Responder
31/05/2015
Saudações professor!!
Thiengo, comento aqui por que não tenho um video sobre o que preciso, cara preciso de algo pra imprimir no android, tipo algo que converta dados em jpg ou pdf ou algo do tipo, só não pode ser txt... sabe de algo?

Obrigado.
Responder
Vinícius Thiengo (0) (0)
01/06/2015
Fala Fagmer, blz?
Esse conteúdo tb é novo para mim, ainda não precisei dele. Mas encontrei esses links:

http://developer.android.com/training/printing/index.html

http://stackoverflow.com/questions/15540614/how-to-print-image-and-some-data-from-an-android-device-using-printer-print-vi

Nenhum é de conversão de imagem, de repente lhe ajudam. Abraço
Responder
Leandro (0) (0)
25/06/2014
Thiengo, dê uma ajuda.
Quando o servidor de web tiver parado (Stop no caso do tomcat) ou até mesmo a maquina deu pau e está desligada. Como faria para alertar o usuario do app e o servidor não está disponivel?
Desde já obrigado.
Responder
Vinícius Thiengo (1) (0)
25/06/2014
Fala Leandro, blz?
ENtão na verdade vc receberá uma mensagem de "Connection refused" ou algo similar e, se não me engano, um exception será gerada, é ai que vc captura a Exception e manda uma mensagem para o usuário o informando que ele está sem conexão (imaginando que vc esteja utilizando o pacote http org do Apache). Faz o seguinte, desligue seu servidor e tente conectar para ver qual será a resposta. Nesse tipo de situação vc deve simular o que pode acontecer para então saber como tratar. Abraço
Responder
Leandro (1) (0)
25/06/2014
Deu certo! Não sei se é a forma mais elegante, mais da um exception mesmo. Segue abaixo o metodo que estou utilizando.

private boolean servidorDisponivel(String sUrl){
try {
HttpPost httpPost = new HttpPost(sUrl);
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 5000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
httpClient.execute(httpPost);
return true;
} catch (ParseException e) {
return false;
} catch (IOException e) {
return false;
}
}

Obrigado.
Responder
14/05/2014
Boa tarde, Thiengo faz um vídeo mostrando como pederíamos recuperar esses dados do arquivo POST_DATA, ou explica ae como seria esse método?
Responder
Vinícius Thiengo (0) (0)
14/05/2014
Fala Lucas, blz? Então, estou pensando em fazer uma série só com formulário, porém dentro de uma aplicação real, pois tem mt gente pedindo isso: "como pegar os dados", "como enviar uma imagem", ... abraço
Responder