Über dieses Blog...

»Wenn ich einmal alt bin, werde ich nur nörgeln — das wird ein Spaß!«

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.

RSS-Feed RSS 2, Atom

Zur Weiterverarbeitung oder zum Einbauen für Ihre Homepage: CSV, JavaScript

Durchsuchen

Tipp: AND & && OR | || XOR - ! NOT ( )

Archiv

Einträge im Februar 2012
MoDiMiDoFrSaSo
12345
6789101112
13141516171819
20212223242526
272829
Beiträge im Archiv zeigen

Aktion Mensch

Via Jörg Tauss bin ich eben darüber gestolpert, dass die Aktion Mensch scheinbar den diskussionswürden Verein Innocence in Danger e.V. fördert.

Gefördert von Aktion Mensch; unterstützt durch die Auerbach Stiftung, Motorola und Sprachlabor (Laufzeit: Januar 2008 bis Dezember 2010)

Zusammen mit der Deutschen Kinderhilfe ist Innocence in Danger einer der Vereine, die ständig negativ auffallen. Dass es diese in die Bild-"Zeitung“ schaffen und auch ansonsten regelmäßig auffällige Verflechtungen zur Politik bestehen (Frau zu Guttenberg bspw.), ist bereits auffällig. Während der Deutsche Spendenrat die Deutschen Kinderhilfe rausgeworfen hat, geht Innocence in Danger bzw. Frau zu Guttenberg als wohl bekanntester (und einziger bekannter) Vertreter(in) direkt ins Fernsehen und macht auf RTL2 dem Rechtsstaat den Garaus. Während die Welt noch vorsichtig Hinweise unserer Justizministerin verbreitet, schreiben andere schon deutlicher — aber wer hätte was anderes von solchen Blättern erwartet? (Btw ein Tipp zu Stuttgart 21).

Zurück zum Ausgangsthema: Sollte sich zufällig einer überlegen, sich selbst oder demnächst zu Weihnachten jemand anderem eines dieser Aktion Mensch-Lose zu kaufen: Lasst es bleiben und sagt denen möglicherweise auch bescheid, warum. Jeder Cent, der in diese zwielichtigen Vereine fließt, ist ein Cent zu viel.

Android/Java: HTTP-Requests absenden

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);
?>

Alle Nachrichten finden Sie im Archiv.

Register