Ljava.lang.StackTraceeElement调试android应用程序

Ljava.lang.StackTraceeElement调试android应用程序,java,android,android-volley,Java,Android,Android Volley,我试图调试我的应用程序,看看它在哪里停止运行,但我对下面的日志“Ljava.lang.StackTraceeElement;@42088f90”感到困惑,我不知道它是什么意思,也不知道它来自哪里 07-01 13:55:30.957 11534-11534/com.rep I/RM﹕ construct 07-01 13:55:30.957 11534-11534/com.rep I/RM﹕ onPreExecute 07-01 13:55:30.961 11534-12159/com.r

我试图调试我的应用程序,看看它在哪里停止运行,但我对下面的日志“Ljava.lang.StackTraceeElement;@42088f90”感到困惑,我不知道它是什么意思,也不知道它来自哪里

07-01 13:55:30.957  11534-11534/com.rep I/RM﹕ construct
07-01 13:55:30.957  11534-11534/com.rep I/RM﹕ onPreExecute
07-01 13:55:30.961  11534-12159/com.rep I/RM﹕ doInBackground
07-01 13:55:30.961  11534-12159/com.rep I/RM﹕ URL DE CONSULTA: http://192.168.1.1/rep/api/clientes
01 13:55:30.962  11534-12159/com.rep I/RM﹕ [Ljava.lang.StackTraceElement;@42088f90
代码如下:

package com.rep.webservice.rest;

import android.content.Context;
import android.util.Log;

import com.rep.model.ClienteModel;
import com.rep.webservice.Servidor;
import com.rep.webservice.volley.AuthFailureError;
import com.rep.webservice.volley.Request;
import com.rep.webservice.volley.RequestQueue;
import com.rep.webservice.volley.Response;
import com.rep.webservice.volley.VolleyError;
import com.rep.webservice.volley.toolbox.JsonObjectRequest;
import com.rep.webservice.volley.toolbox.Volley;

import org.json.JSONArray;
import org.json.JSONObject;

import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static java.lang.String.valueOf;

public class ClientesRest extends Servidor {

    private String recursoRest = "clientes";

    private List arrayClientes;

    private RequestQueue mRequestQueue;

    private Context context;

    public ClientesRest(Context ctx) {
        this.context = ctx;
    }

    public final List getClientes() {

        String url = this.URL_WS + recursoRest;

        Log.i("RM", "URL DE CONSULTA: " + url);


        mRequestQueue = Volley.newRequestQueue(this.context);



        JsonObjectRequest mJsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {


            @Override
            public void onResponse(JSONObject response) {
                parseJSON(response);

                Log.i("RM", "resposta da api: " + response.toString());


            }

        }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                Log.i("RM", error.getMessage());
            }

        }
        ) {
            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                HashMap<String, String> headers = new HashMap<String, String>();
                headers.put("X-TOKEN", "99KI9Gj68CgCf70deM22Ka64chef2Caaa2J0G9JkD0bDAcbFfd19MfacGf3FFm8CM1hG0eDiIk8");
                return headers;
            }
        };

        mRequestQueue.add(mJsonObjectRequest);


        return this.arrayClientes;
    }

    private void parseJSON(JSONObject json) {
        try {

            Log.i("RM", "executou o parseJSON");

            /* array para armazenar os clientes */
            this.arrayClientes = new ArrayList<ClienteModel>();

            /* pega o array "dados" que vem na resposta da consulta ao rest */
            JSONArray dados = json.getJSONArray("dados");

            /* percorre o array */
            for (int i = 0; i < dados.length(); i++) {

                /* pega a posição de cada linha no array */
                JSONObject item = dados.getJSONObject(i);

                /* cria um objeto do tipo ClienteModel */
                ClienteModel mClienteModel = new ClienteModel();

                /* cadastra os dados necessários no objeto mClienteModel */
                mClienteModel.set_idrm(Integer.parseInt(item.optString("id")));
                mClienteModel.set_nome(item.optString("nome"));
                mClienteModel.set_tipo(item.getString("tipo"));
                mClienteModel.set_endereco(item.optString("endereco"));
                mClienteModel.set_numero(item.optString("numero"));
                mClienteModel.set_complemento(item.optString("complemento"));
                mClienteModel.set_cep(item.optString("cep"));
                mClienteModel.set_bairro(item.optString("bairro"));
                mClienteModel.set_cidade(item.optString("cidade"));
                mClienteModel.set_estado(item.optString("estado"));
                mClienteModel.set_informacao_adicional("informacao_adicional");

                /* adicionar o objeto mClienteModel no array de Clientes "arrayClientes" */
                this.arrayClientes.add(mClienteModel);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }


    }
}
package com.rep.webservice.rest;
导入android.content.Context;
导入android.util.Log;
导入com.rep.model.ClienteModel;
导入com.rep.webservice.Servidor;
导入com.rep.webservice.volley.AuthFailureError;
导入com.rep.webservice.volley.Request;
导入com.rep.webservice.volley.RequestQueue;
导入com.rep.webservice.volley.Response;
导入com.rep.webservice.volley.VolleyError;
导入com.rep.webservice.volley.toolbox.JsonObjectRequest;
导入com.rep.webservice.volley.toolbox.volley;
导入org.json.JSONArray;
导入org.json.JSONObject;
导入java.io.PrintWriter;
导入java.io.StringWriter;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入java.util.Map;
导入静态java.lang.String.valueOf;
公共类客户列表扩展了Servidor{
私有字符串recursoRest=“clientes”;
私有列表ArrayClient;
私有请求队列mRequestQueue;
私人语境;
公共客户列表(上下文ctx){
this.context=ctx;
}
公共最终列表GetClients(){
字符串url=this.url\u WS+recursoRest;
Log.i(“RM”,“协商URL:+URL”);
mRequestQueue=Volley.newRequestQueue(this.context);
JsonObjectRequest mJsonObjectRequest=新JsonObjectRequest(Request.Method.GET,url,null,new Response.Listener()){
@凌驾
公共void onResponse(JSONObject响应){
parseJSON(响应);
Log.i(“RM”,“resposta da api:+response.toString());
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Log.i(“RM”,error.getMessage());
}
}
) {
@凌驾
公共映射getHeaders()引发AuthFailureError{
HashMap headers=新的HashMap();
头.put(“X-TOKEN”、“99KI9Gj68CgCf70deM22Ka64chef2Caaa2J0G9JkD0bDAcbFfd19MfacGf3FFm8CM1hG0eDiIk8”);
返回标题;
}
};
mRequestQueue.add(mJsonObjectRequest);
返回此.arrayClients;
}
私有void parseJSON(JSONObject json){
试一试{
Log.i(“RM”、“executou o parseJSON”);
/*armazenar os客户阵列*/
this.arrayClients=新的ArrayList();
/*pega o阵列“护墙板”可用于解决领事馆休息问题*/
JSONArray dados=json.getJSONArray(“dados”);
/*percorre o阵列*/
对于(int i=0;i
它是
StackTraceeElement
类的默认
.toString()

您应该使用它的方法来打印stacktrace,或者更好地使用用于在logcat中打印stacktrace的
Log
参数

Log.i("RM", "error", error);

尝试打印“错误”的stackTrace,错误。printStackTrace()。考虑到volleyerror扩展了exceptionthank you,现在com.rep.webservice.volley.toolbox.volley.newRequestQueue(volley.java:45)上的日志显示了-java.lang.NullPointerException