POST via Java ME
26. April 2010


Momentan spiele ich etwas mit Java ME und zugehörigen API’s. Stumpf gesagt ist es wohl normales Programmieren in Java, bis auf ein dämliches Detail: man ist etwas eingeschränkt.

Gewohnte Funktionen heißen anders, beliebte Vereinfachungen fehlen. Zeigen möchte ich dies an einem kleinen Beispiel. Da ich neulich einen Bericht über das POST-Verfahren in Java schrieb möchte ich dies nun in Java ME zeigen.

Dies sieht wie folgt aus:

HttpConnection c = null;
InputStream is = null;
PrintStream out = null;
int rc;
 
try {
c = (HttpConnection) Connector.open(url);
c.setRequestMethod(HttpConnection.POST);
c.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
 
c.setRequestProperty("User-Agent", "GeldPlanRApp");
 
out = new PrintStream(c.openOutputStream());
out.print("zu sendender Text");
out.flush();
 
rc = c.getResponseCode();
if (rc != HttpConnection.HTTP_OK) {
throw new IOException("HTTP response code: " + rc);
}
is = c.openInputStream();
 
int ch;
StringBuffer b = new StringBuffer();
while ((ch = is.read()) != -1) {
b.append((char) ch);
}
System.out.println(b.toString());
} catch (ClassCastException e) {
throw new IllegalArgumentException("Not an HTTP URL");
} finally {
if (is != null)
is.close();
if (out != null)
out.close();
if (c != null)
c.close();
}

Sieht wohl jeder selbst, dass es bedeutend länger ist. Diesmal stimme ich Julian auch zu, dass es etwas seltsam umständlich ist.