Banco de Dados - JAVA - SQL - WebService

MySQL

Android

Java

29/11/2017

Boa noite pessoal, tudo bem? Sou novo em JAVA e gostaria de uma ajuda de vocês, vi esses dias atrás umas vídeo-aulas explicando como criar um WebService no Android utilizando o MySQL para gerenciar o BD.Porém não consegui implementar o método de buscar um usuário por ID no meu banco de dados. O problema é que não consigo buscar os meus usuarios pelo ID no banco e retornar os dados desse usuário na tela. Tem como vocês me darem uma ajuda? Abaixo os métodos que utilizei:

Método:

import java.util.ArrayList;
import java.util.Iterator;

import com.example.kb.R.id;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.SearchView;
import android.widget.Toast;

public class BuscaOrdemServico extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.busca);
final EditText edOS = (EditText) findViewById(R.id.etOS);
Button btBusca = (Button) findViewById(R.id.btBusca);
Button btVolta = (Button) findViewById(R.id.btVolta);

btBusca.setOnClickListener(new OnClickListener() {
	
	@Override	
	public void onClick(View v) {
		
		UsuarioDAO dao = new UsuarioDAO();
		boolean usr = dao.buscarUsuarioporID(1, edOS.getText());
		
		if(usr){
			
			Toast.makeText(BuscaOrdemServico.this, "Ordem de Serviço Encontrada",Toast.LENGTH_LONG).show();
			finish();
		}else {
			Toast.makeText(BuscaOrdemServico.this, "Nenhuma Ordem de Serviço Encontrada", Toast.LENGTH_LONG).show();					
		}
	}

	
});

btVolta.setOnClickListener(new OnClickListener() {
	
	@Override
	public void onClick(View v) {
		Intent it = new Intent(BuscaOrdemServico.this, MainActivity.class);
		startActivity(it);
	}

});


Classe DAO

public Usuario buscarUsuarioporID(int id){
Usuario usr = null;

SoapObject buscarUsuarios = new SoapObject(NAMESPACE, BUSCAR_POR_ID);
buscarUsuarios.addProperty(“id”, id);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
	
	envelope.setOutputSoapObject(buscarUsuarios);
	
	envelope.implicitTypes = true;
	
	HttpTransportSE http = new HttpTransportSE(URL);
	
try {
	http.call("urn:" + BUSCAR_POR_ID, envelope);
		
	SoapObject resposta = (SoapObject) envelope.getResponse();
		
	usr = new Usuario();
			
	usr.setId(Integer.parseInt(resposta.getProperty("id").toString()));	
	usr.setNome(resposta.getProperty("nome").toString());
	usr.setIdade(Integer.parseInt(resposta.getProperty("idade").toString()));
	
	
		
		
} catch (Exception e) {
		e.printStackTrace();
		return null;
}
			
return usr;
Denrlei Silva

Denrlei Silva

Curtidas 0

Respostas

Paulo Carvalho

Paulo Carvalho

29/11/2017

Boa noite Denrlei, tudo certo?

Batendo o olho no seu código percebi que na declaração do método buscarusuarioporid você assina ele com apenas um parâmetro que é o próprio id do usuário, mas quando você invoca o método você passa dois parâmetros para ele. Será que é isso que não está ocasionando o erro?

Qualquer coisa posta o erro ai para darmos uma olhada. Um abraço.
GOSTEI 0
Denrlei Silva

Denrlei Silva

29/11/2017

Boa noite Denrlei, tudo certo?

Batendo o olho no seu código percebi que na declaração do método buscarusuarioporid você assina ele com apenas um parâmetro que é o próprio id do usuário, mas quando você invoca o método você passa dois parâmetros para ele. Será que é isso que não está ocasionando o erro?

Qualquer coisa posta o erro ai para darmos uma olhada. Um abraço.


Cara obrigado por responder! Consegui agora! Tive que alterar meu método de "int id" na Classe DAO para "string". E no método eu "injeto" um valor em uma string através de um campo de texto (não sei se me expliquei direto). Agora eu consigo procurar o id no banco de dados. Porém não sei como exibir os dados relacionados àquele id no banco de dados. Tem uma ideia Pauloesc1?
GOSTEI 0
POSTAR