java - android 截击超时错误

标签 java android node.js json android-volley

我准备了一个 Node js Web 服务,当我使用以下 URL 进行测试时,它会返回 JSON 响应:http://localhost:3000/users?name=ali&password=ali ,它成功返回我设置的 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);
    }

注意:我用我的 IP 地址更改了“localhost”,并且停用了防火墙

最佳答案

我希望这对你有用。

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

确保您已在 list 中添加互联网权限。

DefaultRetryPolicy 设置为您的请求。

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

在此 requestQueue.add(objectRequest); 行之前添加以上代码。

关于java - android 截击超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58907257/

相关文章:

java - Jackson - 如何编写自定义解串器

java - ActionListener 回调到另一个类

javascript - 在 android webview java 上使用 javascript

javascript - 使用 fs.writeFileSync 时避免竞争条件

node.js - Mongoose 创建多个索引并个性化 quety 以使用特定索引进行调用

java - 为什么在部署到外部tomcat时需要扩展`SpringBootServletInitializer`

java - 我的语法有什么问题,我这样做效率高吗?

node.js - 错误 : "Double colon in host identifer"

java - Android Twilio 如何使用这些示例类?

android - 即使重力设置为 TOP|LEFT,Toast 仍显示在底部