Über dieses Blog...
Tipps und Tricks, aber auch Kritik - breit gefächert von Technik bis hin zum Design, manchmal (oder immer öfter) auch Politik.
Momentaner Fokus: Android/Java, CalDAV, Windows 7 benutzbar machen
Feeds
Interessant gefunden? Mitlesen? Vollständige Beiträge per Feed.
Zur Weiterverarbeitung oder zum Einbauen für Ihre Homepage: CSV, JavaScript
Tag-Cloud
Durchsuchen
Kategorien
Android/Java: HTTP-Requests absenden
Von e7 am 06.08.2010, 17:40 in Code-Snippets
Tags: netzwerk verbindung https http internet android
Zumindest per HTTP klappt das Nachfragen — HttpsURLConnection klappt leider nicht (import javax.net.ssl.HttpsURLConnection) und wirft eine nichtssagende Fehlermeldung mit irgendeiner Klassenangabe von Apache Harmony. Die Zeilen, die mit java.io.* zu tun haben (insbesondere das Anlegen des BufferedReader) lassen mich erahnen, warum so eine richtige objektorientierung wohl doch nicht immer ideal ist…
Hier wieder der Code (über die Formatierung hier im Blog muss ich auch mal drüber schauen — ist aber ne geklaute Klasse, d. h. die kann ich nicht ohne weiteres Einarbeiten anpassen):
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.*;
public class TestActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
String s = „DEBUG:\n";
try {
String t;
String postData = „Testtext per POST";
// Verbindung aufbauen, Parameter setzen
URL u = new URL(„http://192.168.2.100/reverse.php“);
//HttpsURLConnection uc = (HttpsURLConnection)u.openConnection();
HttpURLConnection uc = (HttpURLConnection)u.openConnection();
uc.setUseCaches(false);
uc.setDoInput(true);
uc.setDoOutput(true);
// POST-Data setzen
uc.setRequestMethod(„POST“);
uc.setRequestProperty(„Content-Type", „text/xml; charset=utf-8“);
uc.setRequestProperty(„Content-Length", Integer.toString(postData.getBytes().length));
DataOutputStream dos = new DataOutputStream(uc.getOutputStream());
dos.writeBytes(postData);
dos.flush();
dos.close();
// Rückgabe lesen
BufferedReader br = new BufferedReader(new InputStreamReader(uc.getInputStream()));
while ((t = br.readLine()) != null) {
s += t + „\n";
}
br.close();
// Done :)
uc.disconnect();
} catch (Exception e) {
s = „ERR: „+e.getMessage();
}
tv.setText(s);
setContentView(tv);
}
}
Die reverse.php ist übrigens einfach nur ein PHP-Script, das die per POST reinkommenden Daten umdreht und wieder ausgibt:
<?
$post = file_get_contents(„php://input“);
echo strrev($post);
?>
Interessant gefunden?
Dann steht dir auch ein Feed (mit vollständigen Beiträgen!) zur Verfügung:
RSS 2.0
Die Kommentarfunktion wurde für diesen Eintrag deaktiviert.
© 2001 - 2012 by e7o.de; powered by e7cms. XHTML Strict für gute Browser.







