Android:如何连接到我的本地MySQL?

时间:2014-03-29 19:36:36

标签: android

我尝试连接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;
}

2 个答案:

答案 0 :(得分:1)

Android Http请求必须在AsyncTask或Handler中执行。 如果没有,那么你将尝试在执行返回值之前得到结果。

看一下我创建的课程。

Java : a WebService asking embeded in a AsyncTask

答案 1 :(得分:0)

您在哪里测试代码? 如果您在模拟器中对其进行测试,则必须将“localhost”替换为“10.0.0.2”,即主机的IP地址。 有关详细信息,请参阅此处:http://developer.android.com/guide/faq/commontasks.html - “从模拟环境引用localhost”部分