Events

:

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden

    Der Technik-Blog

    Android HTTP Request - Async Task

    Android HTTP Request

    Alex @ AEQ-WEB

    In diesem Beitrag zeigen wir, wie man mit Android einen HTTP-Request startet. Dazu wird ein PHP-Script auf dem Server aufgerufen. Dieser Script zeigt die IP-Adresse des Clients, sowie die Uhrzeit vom Server an. Damit die App nicht abstürzt, gibt es einen Exception-Handler, der im Fehlerfall einen entsprechenden Fehlercode ausgibt. Der HTTP-Request wird in einem Task ausgeführt, damit das Userinterface nicht durch Ladezeiten beeinträchtigt wird. Kommt vom Server eine Antwort, so wird die TextView entsprechend aktualisiert. In unserem Code-Beispiel haben wir auch einen Button integriert, der den Task erneut ausführen kann.

    Dieses Code-Beispiel funktioniert auch mit einer HTTPS-Verschlüsselung. Dazu wird einfach die URL von HTTP auf HTTPS umgeschreiben. Außerdem können mit dem Beispiel POST & GET Parameter für den Server mitgesendet werden.

    HTTP_Request.apk
    Download
    HTTP Request Code
    Download
    Werbung:

    MainActivity: Die privaten Klassen befinden sich in der der MainActivity.java Datei:

    private class HttpTask extends AsyncTask<String, Void, String> {
        @Override
        protected String doInBackground(String... strURLs) {
            URL url = null;
            HttpURLConnection conn = null;
            try {
                url = new URL(strURLs[0]);
                conn = (HttpURLConnection) url.openConnection();
                int responseCode = conn.getResponseCode();
    
                if (responseCode == HttpURLConnection.HTTP_OK) {
                    InputStream in = url.openStream();
                    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
                    StringBuilder result = new StringBuilder();
                    String line;
                    while ((line = reader.readLine()) != null) {
                        result.append(line);
                    }
                   return result.toString().replace("/N/", System.getProperty("line.separator"));
                } else {
                    return "Fail (" + responseCode + ")";
                }
            } catch (IOException e) {
                return "Unable to connect";
            }
        }
    
        @Override
        protected void onPostExecute(String result) {
            TextView view_result = (TextView) findViewById(R.id.textView);
            view_result.setText(result);
        }
    }
    

    onCreate: In der OnCreate-Void wird der Task mit folgenden Befehl ausgeführt:

    new HttpTask().execute("http://testserver.aeq-web.com/android_http_request");

    Manifest: In der Manifest wird die Berechtigung für den Internet-Zugriff festgeleget:

    <uses-permission android:name="android.permission.INTERNET">


    122X122

    Über den Autor

    Alex, der Gründer von AEQ-WEB. Seit über 10 Jahren beschäftigt er sich mit Computern und elektronischen Bauteilen aller Art. Neben den Hardware-Projekten entwickelt er auch Webseiten, Apps und Software für Computer.

    Top Artikel in dieser Kategorie:

    Android GPS Data & Position Java

    Android GPS auslesen

    • DE/EN

    Auf dieser Seite zeigen wir, wie mit Android die GPS-Position, Geschwindigkeit & Seehöhe sowie der Name der Ortschaft ermittelt werden kann.

    Weiterlesen
    Android HTTP Request - Async Task

    Android HTTP Request

    • DE/EN

    Auf dieser Seite zeigen wir, wie unter Android ein asynchroner HTTP/HTTPS Request gestartet wird und mittels Task verarbeitet wird.

    Weiterlesen

    Social Media

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden