Analoge Spannungen verstärken mit dem LM358
05.03.2025
Elektronik | Funk | Software
Der Technik-Blog
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.
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">
Auf dieser Seite zeigen wir, wie unter Android ein asynchroner HTTP/HTTPS Request gestartet wird und mittels Task verarbeitet wird.
WeiterlesenAuf dieser Seite zeigen wir, wie ein Service in Android erstellt wird. Der Dienst wird automatisch nach den Booten gestartet und im Intervall ausgeführt
WeiterlesenAEQ-WEB © 2015-2025 All Right Reserved