POST via Java ME

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.

Tweet this!