0

我正处于我的第一个 android 编程时代,我被困在这个问题上。

我正在尝试通过 PHP 在 android 项目中与 MySQL 数据库建立连接(登录页面)。我已经在我的网络中使用主机的 ip 地址在模拟器中取得了成功。但是,我似乎无法连接到外部 IP,这是支点,因为我的意思是在真实设备上实现它。

在设备上,由于它在网络之外,我无法以任何方式连接。

连接不成功的结果是崩溃,LogCat 停留在 Button - Login。

我已将 Internet 权限添加到清单中。

成功连接和不成功连接之间的唯一变化是地址(内部到外部)。

//JSON parser code:

public JSONObject getJSONFromUrl(String url, List<NameValuePair> params) {

    // Making HTTP request
    try {

        // defaultHttpClient
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);
        httpPost.setEntity(new UrlEncodedFormEntity(params));

        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();
        is = httpEntity.getContent();

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                is, "iso-8859-1"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        is.close();
        json = sb.toString();
        Log.e("JSON", json);
    } catch (Exception e) {
        Log.e("Buffer Error", "Error converting result " + e.toString());
    }

    // try parse the string to a JSON object
    try {
        jObj = new JSONObject(json);            
    } catch (JSONException e) {
        Log.e("JSON Parser", "Error parsing data " + e.toString());
    }

    // return JSON String

    return jObj;

}


//Creating the JSON

JSONObject json = jsonParser.getJSONFromUrl(loginURL, params);
4

1 回答 1

0

如果您在与真实设备相同的 WiFi 网络中运行本地服务器,请使用ipconfig (Windows) 检查您的 PC 服务器的 IP,它类似于 192.168.100.101 或类似的东西。所以你只需从你的设备连接到这个地址。

于 2013-03-19T01:41:45.240 回答