IR-Thermometer mit LoRaWAN
05.06.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.
Weiterlesen
Auf dieser Seite zeigen wir, wie mit Android die GPS-Position, Geschwindigkeit & Seehöhe sowie der Name der Ortschaft ermittelt werden kann.
WeiterlesenAEQ-WEB © 2015-2025 All Right Reserved