Erro comunicação Socket

2 respostas Resolvido
java
R

Tenho este trecho código.:
É uma aplicação Android.

public class Consulta extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(Void... params) {
        try {
            Socket cliente = new Socket("10.20.1.100", 12345);
            ObjectInputStream entrada = new ObjectInputStream(cliente.getInputStream());
            List<PessoaMOD> pessoas = (List) entrada.readObject();
            for (PessoaMOD p : pessoas) {
                Log.d("teste", "ID: " + p.getId() + " - Nome: " + p.getNome());
            }
            entrada.close();
            Log.d("teste", "Conexão encerrada");
        } catch (Exception e) {
            Log.d("teste", "Erro: " + e);
        }

        return null;
    }
}


private void botaoComunicarServidor() {
    Button btComunicarServidor = (Button) findViewById(R.id.btComunicarServidor);
    btComunicarServidor.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            new Consulta().execute();
        }
    });
}

public class PessoaMOD implements Serializable{
    private int id;
    private String nome;

    public PessoaMOD(){

    }

    public PessoaMOD(int id, String nome){
        setId(id);
        setNome(nome);
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
}

Dá o seguinte erro:
java.lang.ClassNotFoundException: PessoaMOD

Em uma aplicação java, este mesmo código que uso no Android funciona…

No MANIFEST já liberei acesso para Internet:

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

2 Respostas

rmendes08
Solucao aceita

eu não entendi, o erro acontece no Android ou no servidor ? de qualquer maneira, o problema é que a VM não encontra a classe PessoaMOD no classpath.

R

Já encontrei o erro, acontece pois o nome do pacote da classe PessoaMOD na aplicação cliente é diferente do nome do pacote da classe PessoaMOD no servidor.

Criado 22 de fevereiro de 2016
Ultima resposta 23 de fev. de 2016
Respostas 2
Participantes 2