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.