Java android截击计时错误
我准备了一个节点js webservice,当我使用以下URL测试它时,它会返回一个JSON响应:,它成功地返回了我设置的JSON响应,因此我确保它工作正常。 实际上,我正试图在android中使用此Web服务,所以我试图在android中使用Volley库获得JSON响应,但我得到了:com.android.Volley.TimeoutError 这是我的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
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位于同一网络上。