簡體   English   中英

使用Ksoap2的WebServices在應用程序android中通過WebServices獲取數據庫postgreSQL中的數據時出錯

[英]Error in application android to fetch data in the database postgreSQL by WebServices with Ksoap2

首先使用axis2制作了一個WebService,它具有與數據庫的連接類,以及具有pedidosDAO和CRUD的連接類。 使用SoupUI可以執行方法的調用。 到目前為止一切順利,我創建了一個Android應用程序來使用這些服務,但是在運行ListView時顯示銀行數據時出現錯誤(不幸的是XsaladaTeste已停止),我之前已經做過並且可以工作,現在,我一直在繼續工作,因為我沒有讓我的logcat出現這個錯誤,也沒有顯示此日志。 我究竟做錯了什么?

PedidosXsaladaBusca.java

package com.example.xsaladateste;

public class PedidosXsaladaBusca {

    private int id_pedidos;
    private String informacao_adicionais;
    private int mesa;
    private String nome_sobrenome_cliente;
    private String nome_xsalada;
    private double total_a_pagar;

    PedidosXsaladaBusca() {

    }

    PedidosXsaladaBusca(int id_pedidos, String informacao_adicionais, int mesa, String nome_sobrenome_cliente,
            String nome_xsalada, double total_a_pagar) {

        this.id_pedidos = id_pedidos;
        this.informacao_adicionais = informacao_adicionais;
        this.mesa = mesa;
        this.nome_sobrenome_cliente = nome_sobrenome_cliente;
        this.nome_xsalada = nome_xsalada;
        this.total_a_pagar = total_a_pagar;

    }

    public int getId_pedidos() {
        return id_pedidos;
    }

    public void setId_pedidos(int id_pedidos) {
        this.id_pedidos = id_pedidos;
    }

    public String getNome_sobrenome_cliente() {
        return nome_sobrenome_cliente;
    }

    public void setNome_sobrenome_cliente(String nome_sobrenome_cliente) {
        this.nome_sobrenome_cliente = nome_sobrenome_cliente;
    }

    public int getMesa() {
        return mesa;
    }

    public void setMesa(int mesa) {
        this.mesa = mesa;
    }

    public String getInformacao_adicionais() {
        return informacao_adicionais;
    }

    public void setInformacao_adicionais(String informacao_adicionais) {
        this.informacao_adicionais = informacao_adicionais;
    }

    public double getTotal_a_pagar() {
        return total_a_pagar;
    }

    public void setTotal_a_pagar(double total_a_pagar) {
        this.total_a_pagar = total_a_pagar;
    }

    public String getNome_xsalada() {
        return nome_xsalada;
    }

    public void setNome_xsalada(String nome_xsalada) {
        this.nome_xsalada = nome_xsalada;
    }

    @Override
    public String toString() {
        return "PedidosXsaladaBusca [id_pedidos=" + id_pedidos + ", informacao_adicionais=" + informacao_adicionais
                + ", mesa=" + mesa + ", nome_sobrenome_cliente=" + nome_sobrenome_cliente + ", nome_xsalada="
                + nome_xsalada + ", total_a_pagar=" + total_a_pagar + "]";
    }

}

PedidosDAO.java

    public class PedidosDAO {

    // Setando Caminhos

    private static final String URL = "http://192.168.0.1:8080/BancoParaXsalada/services/PedidosDAO?wsdl";
    private static final String nameSpace = "http://xsalada.com.br";

    // referencias ao metodos no SoapUI XML file
    private static final String BUSCAR = "buscarTodos";

    // metodo inserir no banco pelo android usando biblioteca Ksoap2

    public ArrayList<PedidosXsaladaBusca> buscarTodos() {

        ArrayList<PedidosXsaladaBusca> lista = new ArrayList<PedidosXsaladaBusca>();

        SoapObject buscarTodos = new SoapObject(nameSpace, BUSCAR);

        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.setOutputSoapObject(buscarTodos);
        envelope.implicitTypes = true;

        HttpTransportSE http = new HttpTransportSE(URL);

        try {

            http.call("urn:" + BUSCAR, envelope);

            Vector<SoapObject> resposta = (Vector<SoapObject>) envelope.getResponse();

            for (SoapObject soapObject : resposta) {
                PedidosXsaladaBusca user = new PedidosXsaladaBusca();

                user.setId_pedidos(Integer.parseInt(soapObject.getProperty("id_pedidos").toString()));

                user.setInformacao_adicionais(soapObject.getProperty("informacao_adicionais").toString());

                user.setMesa(Integer.parseInt(soapObject.getProperty("mesa").toString()));

                user.setNome_sobrenome_cliente(soapObject.getProperty("nome_sobrenome_cliente").toString());

                user.setNome_xsalada(soapObject.getProperty("nome_xsalada").toString());

                user.setTotal_a_pagar(Double.parseDouble(soapObject.getProperty("total_a_pagar").toString()));

                lista.add(user);

            }

        } catch (Exception e) {

            e.printStackTrace();

            return null;
        }

        return lista;
    }
}

MainActivity.java

public class MainActivity extends Activity {
public ListView listaUsuario = (ListView) findViewById(R.id.listaPedidos);

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (android.os.Build.VERSION.SDK_INT > 9) {

        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);

    }

    PedidosDAO dao = new PedidosDAO();
    ArrayList<PedidosXsaladaBusca> lista = dao.buscarTodos();

    ArrayAdapter<PedidosXsaladaBusca> adpUser = new ArrayAdapter<PedidosXsaladaBusca>(this,
            android.R.layout.simple_list_item_1, lista);
    listaUsuario.setAdapter(adpUser);

}

解決,不是代碼錯誤,我意識到他給出了以下錯誤:[timestamp-DDMs]無法綁定到站點8600是調試器

然后研究解決。 以下是我找到的解決錯誤的鏈接:

Eclipse DDMS錯誤“無法綁定到調試器的本地8600”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM