我尝试连接MySql.And可以使用PostMan从192.168.56.1:8080/BookBankService/rest/api/getall获取数据,当我在genymotion中使用chorme浏览192.168.56.1:8080/时可以看到tomcat页面。但是当我测试我的代码时,结果返回null。当我使用调试器时,我可以看到postRequest url是192.168.56.1t:8080 / BookBankService / rest / api / getall (Ingore locahost在这里意味着192.168.56.1)
public static String post(String url, String json) {
LocalhostURL ="http://192.168.56.1:8080/BookBankService/rest/api"
String result = "";
try {
String strRequest = LocalhostURL + url;
HttpPost postRequest = new HttpPost(strRequest);
postRequest.setHeader("Content-type", "application/json");
postRequest.setHeader("accept", "application/json");
postRequest.setHeader("accept","text/plain");
StringEntity s = new StringEntity(json);
s.setContentEncoding("UTF-8");
s.setContentType("application/json");
postRequest.setEntity(s);
HttpResponse response = httpClient.execute(postRequest);
result = getResult(response).toString();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return result;
}
答案 0 :(得分:1)
Android Http请求必须在AsyncTask或Handler中执行。 如果没有,那么你将尝试在执行返回值之前得到结果。
看一下我创建的课程。
答案 1 :(得分:0)
您在哪里测试代码? 如果您在模拟器中对其进行测试,则必须将“localhost”替换为“10.0.0.2”,即主机的IP地址。 有关详细信息,请参阅此处:http://developer.android.com/guide/faq/commontasks.html - “从模拟环境引用localhost”部分