Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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 Studio服务器连接失败_Java_Android_Http_Get_Android Volley - Fatal编程技术网

Java Android Studio服务器连接失败

Java Android Studio服务器连接失败,java,android,http,get,android-volley,Java,Android,Http,Get,Android Volley,我正在尝试使用凌空库执行GET请求(StringRequest)。该文件位于我的wamp服务器上(txt文件)。我的IP地址、本地主机和10.0.2.2的连接一直失败 有两个错误: 使用localhost和10.0.2.2 java.net.ConnectException:2500ms后未能连接到localhost/127.0.0.1(端口80):断开连接失败:ECONREFUSE(连接被拒绝) 使用我的IP地址: java.net.ConnectException:5000ms后无法

我正在尝试使用凌空库执行GET请求(StringRequest)。该文件位于我的wamp服务器上(txt文件)。我的IP地址、本地主机和10.0.2.2的连接一直失败

有两个错误:

  • 使用localhost10.0.2.2
java.net.ConnectException:2500ms后未能连接到localhost/127.0.0.1(端口80):断开连接失败:ECONREFUSE(连接被拒绝)

  • 使用我的IP地址
java.net.ConnectException:5000ms后无法连接到/myIP(端口80):断开连接失败:EHOSTUNREACH(没有到主机的路由)

我在androidmanifest上授予了访问internet的权限

<uses-permission android:name="android.permission.INTERNET" />
这是我的密码:

public void volleyTest(Context ctx) {

    RequestQueue queue = Volley.newRequestQueue(ctx);
    String url ="http://localhost/file.txt";

    StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Log.i("debug","Response is: "+ response.substring(0,500));
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.i("debug",error.getMessage());
        }
    });
    queue.add(stringRequest);
}
公共无效截击测试(上下文ctx){
RequestQueue=Volley.newRequestQueue(ctx);
字符串url=”http://localhost/file.txt";
StringRequest StringRequest=新的StringRequest(Request.Method.GET,url,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
Log.i(“调试”,“响应为:”+Response.substring(0500));
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Log.i(“debug”,error.getMessage());
}
});
添加(stringRequest);
}

首先检查是否可以使用您的IP而不是本地主机从您的计算机浏览器访问api,如果它是好的。从连接在同一网络wifi上的移动浏览器再次检查。然后,永远不要使用localhost,并且始终在api url中使用IP,首先检查是否可以使用IP而不是localhost从计算机浏览器访问api,如果它是好的。从连接在同一网络wifi上的移动浏览器再次检查。然后,永远不要使用localhost,始终在api url中使用IP。您需要使用端口号获取计算机的IP地址(使用ipconfig),并在字符串url中使用该地址而不是“localhost”。 只需将“localhost”更改为您的地址,如“192.168…:8080”,并确保将persmissions添加到androidmanifest

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

您需要使用端口号获取计算机的IP地址(使用ipconfig),并在字符串url中使用该地址而不是“localhost”。 只需将“localhost”更改为您的地址,如“192.168…:8080”,并确保将persmissions添加到androidmanifest

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

我用同样的设置在我的机器上运行了你的代码, 从android/volley部分来看,一切都很好,我可以用下面的代码访问我的文件,基本上是你的,只需稍加修改

您正在使用哪个版本的Wamp?-我建议您检查httpd.conf,以允许访问中的任何位置,如suggest

我在机器中运行的代码,如果有帮助:

  public void volleyTest(Context ctx) {

    RequestQueue queue = Volley.newRequestQueue(ctx);
    String url = "http://192.168.15.28/file.txt";

    com.android.volley.Response.Listener<String> listender = new com.android.volley.Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            System.out.println(response);
        }
    };
    com.android.volley.Response.ErrorListener error = new com.android.volley.Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            System.out.println(error.getLocalizedMessage());
        }
    };

    StringRequest t = new StringRequest(Request.Method.GET, url, listender, error);
    queue.add(t);
}
公共无效截击测试(上下文ctx){
RequestQueue=Volley.newRequestQueue(ctx);
字符串url=”http://192.168.15.28/file.txt";
com.android.volley.Response.Listener listender=new com.android.volley.Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
System.out.println(响应);
}
};
com.android.volley.Response.ErrorListener error=新建com.android.volley.Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
System.out.println(error.getLocalizedMessage());
}
};
StringRequest t=新的StringRequest(Request.Method.GET、url、listender、error);
添加(t);
}

我用同样的设置在我的机器上运行了你的代码, 从android/volley部分来看,一切都很好,我可以用下面的代码访问我的文件,基本上是你的,只需稍加修改

您正在使用哪个版本的Wamp?-我建议您检查httpd.conf,以允许访问中的任何位置,如suggest

我在机器中运行的代码,如果有帮助:

  public void volleyTest(Context ctx) {

    RequestQueue queue = Volley.newRequestQueue(ctx);
    String url = "http://192.168.15.28/file.txt";

    com.android.volley.Response.Listener<String> listender = new com.android.volley.Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            System.out.println(response);
        }
    };
    com.android.volley.Response.ErrorListener error = new com.android.volley.Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            System.out.println(error.getLocalizedMessage());
        }
    };

    StringRequest t = new StringRequest(Request.Method.GET, url, listender, error);
    queue.add(t);
}
公共无效截击测试(上下文ctx){
RequestQueue=Volley.newRequestQueue(ctx);
字符串url=”http://192.168.15.28/file.txt";
com.android.volley.Response.Listener listender=new com.android.volley.Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
System.out.println(响应);
}
};
com.android.volley.Response.ErrorListener error=新建com.android.volley.Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
System.out.println(error.getLocalizedMessage());
}
};
StringRequest t=新的StringRequest(Request.Method.GET、url、listender、error);
添加(t);
}

首先尝试在设备浏览器中打开您的URL以查看其工作情况。我可以从设备浏览器中读取txt文件(使用我的ip地址),但仍然无法使用截击打开它。首先尝试在设备浏览器中打开您的URL以查看其工作情况。我可以从设备浏览器中读取txt文件(使用我的ip地址),但我还是不能用截击打开它