Hello, " + parms.get("username") + "!
"; msg += "\n"; return newFixedLengthResponse(msg); } } public class main { private static MyHTTPD server; private static int port = 80; static class Lg { Activity context; ScrollView sv; TextView tv; StringBuilder buf = new StringBuilder(); Lg(Activity context) { this.context = context; sv = new ScrollView(context); tv = new TextView(context); tv.setText(buf.toString()); sv.addView(tv); } View getView() { return sv; } void print(final String s) { context.runOnUiThread(new Runnable() { public void run() { buf.append(s); tv.setText(buf.toString()); } }); } void println(String s) { print(s + "\n"); } } static Lg lg; public static View main(final Activity context) { lg = new Lg(context); OutputStream outputStream = new OutputStream() { public void write(int b) { try { lg.print(new String(new byte[] {(byte) b}, "UTF-8")); // This is crap } catch (UnsupportedEncodingException e) {} } @Override public void write(byte[] b, int off, int len) { try { lg.print(new String(b, off, len, "UTF-8")); // This is crap } catch (UnsupportedEncodingException e) {} } }; PrintStream ps = new PrintStream(outputStream, true); System.setOut(ps); System.setErr(ps); new Thread() { public void run() { try { // actual main program! server = new MyHTTPD(port); server.start(); System.out.println("HTTP server started (listening on port " + port + "!)"); printMyIPs(); } catch (Throwable e) { e.printStackTrace(); } } }.start(); return lg.getView(); } static void printMyIPs() { String ip; try { Enumeration