Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android截击计时错误_Java_Android_Node.js_Json_Android Volley - Fatal编程技术网

Java android截击计时错误

Java android截击计时错误,java,android,node.js,json,android-volley,Java,Android,Node.js,Json,Android Volley,我准备了一个节点js webservice,当我使用以下URL测试它时,它会返回一个JSON响应:,它成功地返回了我设置的JSON响应,因此我确保它工作正常。 实际上,我正试图在android中使用此Web服务,所以我试图在android中使用Volley库获得JSON响应,但我得到了:com.android.Volley.TimeoutError 这是我的android代码,我在其中建立连接并发出请求: protected void onCreate(Bundle savedInsta

我准备了一个节点js webservice,当我使用以下URL测试它时,它会返回一个JSON响应:,它成功地返回了我设置的JSON响应,因此我确保它工作正常。 实际上,我正试图在android中使用此Web服务,所以我试图在android中使用Volley库获得JSON响应,但我得到了:com.android.Volley.TimeoutError 这是我的android代码,我在其中建立连接并发出请求:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String URL = "http://196.2.182.69:3000/users";
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        JsonObjectRequest objectRequest = new JsonObjectRequest(
                Request.Method.GET,
                URL,
                null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        Log.e("Rest Response",response.toString());
                        System.out.println(response.toString());
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
               Log.e("Rest Response",error.toString());
                    }
                }
        );
        requestQueue.add(objectRequest);
    }
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
字符串URL=”http://196.2.182.69:3000/users";
RequestQueue RequestQueue=Volley.newRequestQueue(this);
JSONObjectRequestObjectRequest=新的JsonObjectRequest(
Request.Method.GET,
网址,
无效的
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
Log.e(“Rest响应”,Response.toString());
System.out.println(response.toString());
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Log.e(“Rest响应”,error.toString());
}
}
);
添加(objectRequest);
}

注意:我用我的ip地址更改了“localhost”,并停用了我的防火墙。我希望这对您有用

从真实设备访问localhost API时,您的设备必须位于同一网络或LAN中

确保已在清单中添加internet权限

DefaultRetryPolicy
设置为您的请求

 objectRequest.setShouldCache(false);
 objectRequest.setRetryPolicy(new DefaultRetryPolicy(30000,
 DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
 DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

在此
requestQueue.Add(objectRequest)之前添加上述代码行。

仍然是相同的错误,30秒后我得到了“Rest-Response:com.android.volley.TimeoutError”,我只是用另一个URL更改了URL,它返回了一个响应“”,但它不是本地URL您的Apache服务器启动并运行了吗?您是否正在使用postman获得响应?是的,apache正在运行,我正在从数据库表中获取一个查询结果,正如我现在看到的,问题在于从android模拟器连接到localhost。您的模拟器应该与localhost API位于同一网络上。