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

Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog. Você receberá um email de confirmação. Somente depois de confirma-lo é que poderei lhe enviar os conteúdos exclusivos.

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
(14961) (37) (1) (1)
Go-ahead
"Uma vez que nós aceitamos nossos limites, nós vamos além deles."
Albert Einstein
Kotlin Android
Capa do livro Desenvolvedor Kotlin Android - Bibliotecas para o dia a dia
TítuloDesenvolvedor Kotlin Android - Bibliotecas para o dia a dia
CategoriasAndroid, Kotlin
AutorVinícius Thiengo
Edição
Capítulos19
Páginas1035
Acessar Livro
Treinamento Oficial
Android: Prototipagem Profissional de Aplicativos
CursoAndroid: Prototipagem Profissional de Aplicativos
CategoriaAndroid
InstrutorVinícius Thiengo
NívelTodos os níveis
Vídeo aulas186
PlataformaUdemy
Acessar Curso
Receitas Android
Capa do livro Receitas Para Desenvolvedores Android
TítuloReceitas Para Desenvolvedores Android
CategoriaDesenvolvimento Android
AutorVinícius Thiengo
Edição
Ano2017
Capítulos20
Páginas936
Acessar Livro
Código Limpo
Capa do livro Refatorando Para Programas Limpos
TítuloRefatorando Para Programas Limpos
CategoriaEngenharia de Software
AutorVinícius Thiengo
Edição
Ano2017
Capítulos46
Páginas599
Acessar Livro
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Conteúdo Exclusivo
Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog.
Email inválido

Opa! Blz?

Nesse vídeo mostro uma maneira de realizar comunicação com um servidor Web. Note que enfatizei no título a linguagem PHP, mas na verdade qualquer linguagem backend de servidor Web pode ser utilizada como servidora Web para APP Android. Nesse vídeo utilizo as classes e interfaces do pacote "org.apache.http". Gosto desse método por ele se bem simples ante o uso de JSON e XML.

Fique atento quanto aos arquivos JARs que devem ser utilizados no projeto. Atento também para a permissão de acesso a Internet que deve ser utilizada e ao uso de uma Thread secundária para realizar a conexão com a Internet. Mas enfim, vou evitar mais delongas e deixar você assistir ao vídeo.

Se você ainda não conhece nada sobre o assunto "Thread principal" ou "Thread de interface" segue links de posts que fiz sobre esses assuntos:

Entendendo a Thread Principal de Uma APP Android

runOnUiThread, Atalho de Acesso a Thread Principal no Android

O link para download do projeto se encontra logo abaixo no post. Note que os JARs necessários já estão incluídos no projeto disponível para download.

Página para baixar o JAR httpmime-4.1.1.jar

Página para baixar o JAR apache-mime4j-0.6.jar

Páginas das principais classes e interfaces utilizadas no projeto de exemplo:

HttpClient, DefaultHttpClient, HttpPost, NameValuePair, UrlEncodedFormEntity, BasicNameValuePair

Vlw

Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog.
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 (14)

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