Java Android Studio服务器连接失败
我正在尝试使用凌空库执行GET请求(StringRequest)。该文件位于我的wamp服务器上(txt文件)。我的IP地址、本地主机和10.0.2.2的连接一直失败 有两个错误: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后无法
- 使用localhost和10.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地址),但我还是不能用截击打开它