Wie kann ich eine einfache HTTP-Anfrage in MainActivity.java? (Android Studio)

Bin ich mit Android Studio, und ich verbrachte ein paar Stunden mit dem Versuch zu tun, eine einfache HTTP-Anfrage in meinem MainActivity.java Datei, und versuchten mehrere Wege, und gesehen, dass viele web-Seiten zu dem Thema, noch nicht, es herauszufinden.

Wenn ich versuche, OkHttp, bekomme ich eine Fehlermeldung über die nicht in der Lage, es zu tun auf dem Haupt-thread. Jetzt versuche ich, es zu tun auf diese Weise:

public static String getUrlContent(String sUrl) throws Exception {
    URL url = new URL(sUrl);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("GET");
    connection.setDoOutput(true);
    connection.setConnectTimeout(5000);
    connection.setReadTimeout(5000);
    connection.connect();
    BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String content = "", line;
    while ((line = rd.readLine()) != null) {
        content += line + "\n";
    }
    return content;
}

Ich diese Methode direkt in MainActivity.java und mein click-Ereignis ausgeführt, das aus einer anderen Methode, die auch in MainActivity.java:

try {
    String str = getUrlContent("https://example.com/WAN_IP.php");
    displayMessage(str);
}
catch(Exception e){
    displayMessage(e.getMessage());
}

Aber jetzt gibt es keinen crash, und ich kann sagen, es ist eine Ausnahme geworfen auf die Zeile, die beginnt "BufferedReader", aber e.getMessage() leer ist.

Ich bin ganz neu in Android Studio und java, also bitte so freundlich sein und mir helfen, mit dieser sehr grundsätzlichen problem. Schließlich werde ich tun müssen, um post-requests an den server, und es scheint, dass OkHttp ist der beste Weg zu gehen, aber ich bin nicht der Suche nach der "Hallo Welt", OkHttp in Android Studio dokumentiert irgendwo online.

InformationsquelleAutor Brian Gottier | 2016-07-26

Schreibe einen Kommentar