Android截击EOFEException

Android截击EOFEException,android,android-volley,eofexception,Android,Android Volley,Eofexception,我有一个使用截击的简单应用程序,如下所示: StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String response) {

我有一个使用截击的简单应用程序,如下所示:

    StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                        Log.d("VolleyController", "Received volley response: " + response);
                        callback.onCallback(OperationOutcome.SUCCESS, response);
                    }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            // This is null.
            NetworkResponse response = error.networkResponse;
            Log.e("VolleyManager", "Received error response from volley: ", error );
            callback.onCallback(OperationOutcome.FAILURE, null);
        }
    });

    // Add the request to the RequestQueue.
    queue.add(stringRequest);
// This will instantiate an empty JSON request with the correct format.
new JSONObject("{}");
我在网上找到了一些关于这个问题的其他答案,但他们没有解决它。请求未到达服务器

多谢各位

编辑

我在舱单上有两个权限:

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


互联网在设备上运行正常。

您的设备是否已启用互联网? 您是否在清单中设置了INTERNET权限

编辑:
检查您的URL是否正确。

您的设备是否已启用internet? 您是否在清单中设置了INTERNET权限

编辑:
检查您的URL是否正确。

问题是由于我发送的请求为空。我认为Volley会自己将其转换为正确的JSON表示(
{}
)。相反,我认为请求只是一个
null
,这导致了异常。为了解决这个问题,我在
JSONObjectRequest
中更改了
StringRequest
。这有一个构造函数,它将一个
JSONObject
作为输入,如下所示:

    StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                        Log.d("VolleyController", "Received volley response: " + response);
                        callback.onCallback(OperationOutcome.SUCCESS, response);
                    }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            // This is null.
            NetworkResponse response = error.networkResponse;
            Log.e("VolleyManager", "Received error response from volley: ", error );
            callback.onCallback(OperationOutcome.FAILURE, null);
        }
    });

    // Add the request to the RequestQueue.
    queue.add(stringRequest);
// This will instantiate an empty JSON request with the correct format.
new JSONObject("{}");
我仍然不明白为什么凌空抽射本身不起作用,我只是出于好奇想理解。无论如何,在这之后,我决定改用性能更高、设置更简单的改装


谢谢大家的帮助

问题是因为我发送的请求是空的。我认为Volley会自己将其转换为正确的JSON表示(
{}
)。相反,我认为请求只是一个
null
,这导致了异常。为了解决这个问题,我在
JSONObjectRequest
中更改了
StringRequest
。这有一个构造函数,它将一个
JSONObject
作为输入,如下所示:

    StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                        Log.d("VolleyController", "Received volley response: " + response);
                        callback.onCallback(OperationOutcome.SUCCESS, response);
                    }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            // This is null.
            NetworkResponse response = error.networkResponse;
            Log.e("VolleyManager", "Received error response from volley: ", error );
            callback.onCallback(OperationOutcome.FAILURE, null);
        }
    });

    // Add the request to the RequestQueue.
    queue.add(stringRequest);
// This will instantiate an empty JSON request with the correct format.
new JSONObject("{}");
我仍然不明白为什么凌空抽射本身不起作用,我只是出于好奇想理解。无论如何,在这之后,我决定改用性能更高、设置更简单的改装


谢谢大家的帮助

两个问题都是肯定的。我已经用我的清单许可更新了答案。如果问题是由那件事引起的,我真的会感到羞愧(对这两个问题都是肯定的。我已经用我的清单权限更新了答案。如果问题是由…(首先检查
url
是否真的起作用,在浏览器中点击它。)是的,它起作用了。首先检查
url
是否真的起作用,在浏览器中点击它..是的,它起作用了。