【问题标题】:Android with Volley: Unable to resolve host带有 Volley 的 Android:无法解析主机
【发布时间】:2015-09-19 14:32:00
【问题描述】:

我正在尝试连接到团队中另一位开发人员为我提供的服务器。我正在使用 Volley,不过还是个初学者。

在服务器上,API 文件夹内的用户文件夹内有一个注册方法。我需要能够从我的 android 应用中调用此方法才能注册新用户。

这是我正在使用的代码。

try {

    Request request = new Request(Request.Method.POST, url + "/user/register", new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show();
                }
            }) {
                @Override
                protected Response parseNetworkResponse(NetworkResponse response) {
                    Toast.makeText(getApplicationContext(), "ParseNetworkRequest", Toast.LENGTH_LONG).show();
                    return null;
                }
            @Override
            protected void deliverResponse(Object response) {
                Toast.makeText(getApplicationContext(), "DeliverResponse", Toast.LENGTH_LONG).show();
            }

            @Override
            public int compareTo(Object another) {
                return 0;
            }

            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                // POST Parameters
                params.put("api_key", API_KEY);
                params.put("email", etEmail.getText().toString());
                params.put("password", etPassword.getText().toString());
                params.put("verifyPassword", etConfirmPass.getText().toString());
                params.put("firstname", etFirstName.getText().toString());
                params.put("lastname", etLastName.getText().toString());
                params.put("birthday", birthDate);
                return params;
            }
        };

        Volley.newRequestQueue(this).add(request);

我遇到的错误。

com.android.volley.NoConnectionError: java.net.UnknownHostException: Unable to resolve host "<url>": No address associated with hostname

我的 manifest.xml 中的权限,因为之前提出的大多数问题都通过添加此行来解决,但在我的情况下不起作用。

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

请注意,我尝试使用 RequestString 类时遇到了同样的错误,但是当我尝试使用另一个 url ("http://google.com") 时,我遇到了服务器错误,这更好一点,因为我们知道原因。

【问题讨论】:

  • 你打开你的wifi连接了吗?此外,请尝试从手机的 Web 浏览器访问该 Url,以确保它可以访问
  • @BNK 是的,当然...也试过了,它是可以访问的。
  • 另外,请尝试从手机的网络浏览器访问该网址,以确保它可以访问
  • 请贴出初始化url 变量的代码
  • 嗯,你提供的url肯定有错误,或者服务器不存在。

标签: android android-volley android-networking


【解决方案1】:

使用不同类型的连接解决了这个问题,我尝试使用 3G 运行应用程序并且它工作正常。

【讨论】:

    猜你喜欢
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多