|
Página 1 de 1
|
[ 11 Mensagens ] |
|
| Autor |
Mensagem |
|
marcoostan
What is Android?
Data de registro: 23 Set 2012, 23:14 Mensagens: 8
|
 Web Service Via HTTP
Pessoal, boa noite. Primeiramente gostaria de dizer que sou novato e estou tentando aprender Java e Android. Estou assistindo as vídeo aulas do Prof. Neri Neitzke e aprendendo a consumir web service via HTPP. Fiz toda a parte de codificação igual ao dele na vídeo aula, mas não está funcionando. Colocarei o código e explicarei em qual parte não funciona. package br. com. videoaulasneri; import java. util. ArrayList; import org. apache. http. NameValuePair; import org. apache. http. message. BasicNameValuePair; import br. com. videoaulasneri. R; import android. os. Bundle; import android. app. Activity; import android. app. AlertDialog; import android. content. Intent; import android. util. Log; import android. view. View; import android. widget. Button; import android. widget. EditText; import android. widget. Toast; public class Logar extends Activity { EditText textUsuario, textSenha; Button btAcessar; @Override public void onCreate (Bundle savedInstanceState ) { super. onCreate(savedInstanceState ); setContentView (R. layout. activity_logar); textUsuario= (EditText ) findViewById (R. id. editUsuario); textSenha= (EditText ) findViewById (R. id. editSenha); btAcessar= (Button) findViewById (R. id. btAcessar); btAcessar. setOnClickListener(new View. OnClickListener() { public void onClick (View v ) { Log. i("Logar", "Entrou no evento"); String urlPost = "http://localhost/android/logar.php"; // IP Fixo ao invés do localhost //String urlGet = "http://localhost/android/logar.php?usuario="+textUsuario.getText().toString()+"&senha="+textSenha.getText().toString(); ArrayList<NameValuePair> parametrosPost = new ArrayList<NameValuePair> (); parametrosPost. add(new BasicNameValuePair ("usuario", textUsuario. getText(). toString())); parametrosPost. add(new BasicNameValuePair ("senha", textSenha. getText(). toString())); String respostaRetornada = null; Log. i("Logar", "Vai entrar no try"); try { respostaRetornada = ConexaoHttpClient. executaHttpPost(urlPost, parametrosPost ); //respostaRetornada = ConexaoHttpClient.executaHttpGet(urlGet); String resposta = respostaRetornada. toString(); Log. i("Logar", "Resposta = "+resposta ); resposta = resposta. replaceAll("\\s+", ""); if (resposta. equals("1")) mensagemExibir ("Login", "Usuario Válido PARABÉNS "); else mensagemExibir ("Login", "Usuario Inválido ????"); } catch (Exception erro ) { Log. i("Erro", "Erro = "+erro ); Toast. makeText(Logar. this, "Erro: "+erro, Toast. LENGTH_LONG). show(); } } }); } public void mensagemExibir (String titulo, String texto ) { AlertDialog. Builder mensagem = new AlertDialog. Builder(Logar. this); mensagem. setTitle(titulo ); mensagem. setMessage(texto ); mensagem. setNeutralButton("OK", null); mensagem. show(); }} Acontece o seguinte...Ele está trazendo a resposta correta na linha abaixo, que é retornar 1... Log.i("Logar", "Resposta = "+resposta); Porém, quando eu utilizo o if para efetuar o comparativo, ele está dando sempre "false", retornando "Usuário Inválido". if (resposta.equals("1")) mensagemExibir("Login", "Usuario Válido PARABÉNS "); else mensagemExibir("Login", "Usuario Inválido ????"); Para auxiliá-los segue abaixo o código PHP: <?php //$usuario = $_GET['usuario']; //$senha = $_GET['senha']; $usuario = $_POST['usuario']; $senha = $_POST['senha']; $conexao = mysql_connect('localhost','root',''); mysql_select_db('android',$conexao); $sql = "SELECT * FROM usuarios WHERE usuario = '$usuario' and senha = '$senha'"; $resultado = mysql_query($sql) or die ("Erro: ".mysql_error()); if (mysql_num_rows($resultado) > 0) { echo "1"; } else { echo 0; } ?> Gostaria muito da ajuda de vocês se possível. Caso seja necessário mais alguma informação eu posto. Lembrando que não coloquei aqui o código da Classe "ConexaoHttpClient". Peço desculpas se ficou algo confuso, espero que possam me ajudar. Obs: no lugar do localhost eu utilizei o IP correto, apenas não postei aqui por questões de segurança... Obrigado, Marco Ostan
|
| 24 Set 2012, 00:26 |
|
 |
|
marcoostan
What is Android?
Data de registro: 23 Set 2012, 23:14 Mensagens: 8
|
 Re: Web Service Via HTTP
Por favor, me ajudem...
|
| 24 Set 2012, 14:58 |
|
 |
|
nero
Application Life Cycle
Data de registro: 06 Dez 2011, 17:47 Mensagens: 209
|
 Re: Web Service Via HTTP
Olá marcoostan seu codigo está correto o problema eq em localhost voce
deve colocar 10.0.2.2 é o Ip magico do android para fazer a conexao
testa ai qualquer coisa posta como ficou
|
| 24 Set 2012, 16:38 |
|
 |
|
marcoostan
What is Android?
Data de registro: 23 Set 2012, 23:14 Mensagens: 8
|
 Re: Web Service Via HTTP
nero escreveu: Olá marcoostan seu codigo está correto o problema eq em localhost voce
deve colocar 10.0.2.2 é o Ip magico do android para fazer a conexao
testa ai qualquer coisa posta como ficou Olá! Obrigado pelo retorno, mas o problema não é este. Eu coloquei localhost para exemplificar, tinha utilizado um IP fixo e até o IP 10.0.2.2 e não funciona. Na verdade, ele não retorna erro algum. Acontece o seguinte, no Logcat ele exibe normal a "Resposta = 1". Porém ao fazer if resposta = 1, ele SEMPRE retorna false e exibe alerta de usuário inválido, o que não faz sentido algum... Poderia me ajudar? Obrigado, Marco Ostan
|
| 24 Set 2012, 16:49 |
|
 |
|
nero
Application Life Cycle
Data de registro: 06 Dez 2011, 17:47 Mensagens: 209
|
 Re: Web Service Via HTTP
Ola executei seu codigo e deu certo porem
ao invez de usar AlertDialog coloquei Toast
testa ai posta como ficou qualquer coisa posto meu exemplo para voce
|
| 24 Set 2012, 17:01 |
|
 |
|
marcoostan
What is Android?
Data de registro: 23 Set 2012, 23:14 Mensagens: 8
|
 Re: Web Service Via HTTP
nero escreveu: Ola executei seu codigo e deu certo porem
ao invez de usar AlertDialog coloquei Toast
testa ai posta como ficou qualquer coisa posto meu exemplo para voce Mas, o Toast não vai exibir alerta não é? Eu gostaria de exibir um alerta de usuário válido ou inválido.
|
| 24 Set 2012, 17:05 |
|
 |
|
nero
Application Life Cycle
Data de registro: 06 Dez 2011, 17:47 Mensagens: 209
|
 Re: Web Service Via HTTP
Tudo bem vou colocar o meu exemplo Button cadastro; EditText c_login, c_senha; TextView c_nome; String login_pas, senha_pas; @Override protected void onCreate (Bundle savedInstanceState ) { // TODO Auto-generated method stub super. onCreate(savedInstanceState ); setContentView (R. layout. cadastro); c_login = (EditText ) findViewById (R. id. cadas_login); c_senha = (EditText ) findViewById (R. id. cadas_senha); c_nome = (TextView ) findViewById (R. id. cadas_txt); cadastro = (Button) findViewById (R. id. cadas_enviar); cadastro. setOnClickListener(new View. OnClickListener() { public void onClick (View v ) { // TODO Auto-generated method stub String login = c_login. getText(). toString(); String senha = c_senha. getText(). toString(); Busca (login, senha ); } }); } public void Limpar () { c_login. setText(""); c_senha. setText(""); } public void Busca (String login, String senha ){ ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair> (); postParameters. add(new BasicNameValuePair ("login", login . toString())); postParameters. add(new BasicNameValuePair ("senha", senha . toString())); String response = null; try { response = CustomHttpClient. executeHttpPost( "http://10.0.2.2/android/gravar.php?", postParameters ); String resposta = response. toString(); resposta = resposta. replaceAll("\\s+", ""); if (resposta. equals("1")) { mensagemExibir ("Alerta", "Correto", CadastroUsuario. this, null); //sua ação } else { mensagemExibir ("Alerta", "Errado", CadastroUsuario. this, null); } Limpar (); } catch (Exception erro ) { Msn. mensagemExibir("Aviso!", "Erro" + erro, CadastroUsuario. this, null); } } public void mensagemExibir (String titulo, String texto, Context contexto, OnClickListener ok ) { AlertDialog. Builder mensagem = new AlertDialog. Builder(contexto ); mensagem. setTitle(titulo ); mensagem. setMessage(texto ); mensagem. setIcon(R. drawable. icom); mensagem. setNeutralButton("OK", ok ); mensagem. show(); }} minha pagina php faça o teste <?php
$login = $_POST['login']; $senha = $_POST['senha'];
//$login = $_GET['login']; //$senha = $_GET['senha'];
$conn = mysql_connect('localhost','root','') or die("erro"); mysql_select_db('android', $conn) or die ("erro aki");
$sql = mysql_query ("SELECT * FROM usuario WHERE login = '$login' AND senha = '$senha' "); if(mysql_num_rows($sql)>0) echo "1";
else echo 0;
?>
bem aqui ela funcionou faça o teste o e poste o resultado 
|
| 24 Set 2012, 17:17 |
|
 |
|
marcoostan
What is Android?
Data de registro: 23 Set 2012, 23:14 Mensagens: 8
|
 Re: Web Service Via HTTP
Peguei o código e salvei, testarei na faculdade. Pois, agora estou no trabalho.
Responderei se funcionou mais tarde. De qualquer forma, obrigado por toda atenção e ajuda.
Abraço!
|
| 24 Set 2012, 17:41 |
|
 |
|
marcoostan
What is Android?
Data de registro: 23 Set 2012, 23:14 Mensagens: 8
|
 Re: Web Service Via HTTP
Infelizmente não funcionou  Não sei mais o que fazer...
|
| 25 Set 2012, 00:17 |
|
 |
|
freedowsRoO
Android application
Data de registro: 29 Mar 2011, 10:37 Mensagens: 60
|
 Re: Web Service Via HTTP
Aoo prof. Neri fazendo sucesso!! rsrsrsrsrs.. Também fiz essa vídeo aula! Vou tentar explicar o teu erro: Quando você usa o 'UrlGet' no java, no seu arquivo PHP tem que estar descomentado o POST Quando você usa o 'UrlPost' no java, no seu arquivo PHP tem que estar descomentado o GET resumindo pra voce usar apenas: String urlPost = "http://localhost/android/logar.php"; No seu arquivo PHP tem que estar liberado o GET e nao o POST é no arquivo PHP o teu erro! Tem que ficar assim: <?php
$usuario = $_GET['usuario']; $senha = $_GET['senha'];
//$usuario = $_POST['usuario']; //$senha = $_POST['senha'];
$conexao = mysql_connect('localhost','root',''); mysql_select_db('android',$conexao); $sql = "SELECT * FROM usuarios WHERE usuario = '$usuario' and senha = '$senha'"; $resultado = mysql_query($sql) or die ("Erro: ".mysql_error()); if (mysql_num_rows($resultado) > 0) { echo "1"; } else { echo 0; }
?>
|
| 26 Set 2012, 11:47 |
|
 |
|
marcoostan
What is Android?
Data de registro: 23 Set 2012, 23:14 Mensagens: 8
|
 Re: Web Service Via HTTP
Obrigado pela dica, mas não deu certo.
Alguém mais pode me ajudar? Posso enviar o projeto para alguém?
|
| 29 Set 2012, 01:34 |
|
|
|
Página 1 de 1
|
[ 11 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: adelar, Aderbal Nunes, Alexandre Castro, alexandreizumi, alexandrepom, alexandreufcg, alexvbh, alsimoes, Anakin Skywalker, andrewort, axellsan, Berbert, BiG_SerGiO, Bravox, caio, canaville, Captain Typho, cassianotartari, comolatti, Corneta, Danilo Dias, danilosouza, dannieltec, Darkluna, David, deivisonrpg, difrene, Dookan, e-azuos, edson dias de gusmao, elisa, eloilton, erissi, euguns, eusobacana, fabric01, ferrodecaju, fgalvão, gabrielatme, garretereis, geco, Google Desktop, Guilherme, guilhermepilotti, guilhermesmo, gutodias, hostdesigner, ice, ixian, Jalerson, jasn, JRSIQUEIRA, JuniorE, kidush, konos, kusanaguy, laucode, lazarodm, Lelinho, lhdiassilva, Lincoln, lucasmadeira, Luke Skywalker, maolveira, marceloaragao, MauNunes, mendes_lu, mirelli, mmfsndroid, nakahara, nishimura.ichigo, nivaldo, nrsf, paint-horse, PAMinhoto, pamonteiro, paulanegreiros, Paulo Bizzo, paulosantos, paulovaz, pfsmorigo, phobos, raulcca, renan.fernandes, renata, renatocoliveira, rfrafael, rlecheta, rogerio.alcantara, rotilho, ruizsa, Samuka, sandro, Silvio Vaz, sobrinho, thiagoalgo, thiaguim, tiago, tiagofalcao, ton.soares, tonylock, Wesleyceraso, Wryel, xa:=zin, zeantonio e 6 visitantes |
|
Você não pode criar novos tópicos neste fórum Você não pode responder tópicos neste fórum Você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode enviar anexos neste fórum
|
|