Still not sure how it works, but it's being hosted by my phone, which is cool. I somehow ran across it randomly when wondering why none of the NanoHTTPD examples I found worked (doubtlessly because of my utter lack of Java knowledge...ugh). But it works.
Next step is reading sensors from the NXT, where I am currently stuck. I have delved deep into the NXT SDK where they have documentation on some really cool direct command protocols, which do not require a user-developed program running on the brick (excellent for direct remote control if the program is doing something wrong). Unfortunately, while I am having no issue using the direct commands developed by the SmartLab NXTBotGuard project, I seem to be getting some bogus data when I call the getInputValues. It changes whenever I reboot the program but not in the middle of it...it is weird. I am sure it is a dumb Java issue. For reference purposes, here's my buggy code:
public String getInputValues () throws IOException { byte [] msg = new byte [5]; msg[0]=(byte)0x04; msg[1]=(byte)0x02; msg[2]=(byte)0x00; msg[3]=(byte)0x07; msg[4]=(byte)0x00; sendMessage(msg); Log.w("NxtBrick", String.valueOf(msg)); if(in !=null) { String x= String.valueOf(in); Log.w("NxtBrick", x); /* String x = null; int bytesRead; byte[] contents = new byte[100]; while ((bytesRead = in.read(contents)) != -1) { x = new String(contents, 0, bytesRead); System.out.print(x); Log.v("NxtBrick", x); } */ return x; } else { return "Null"; } }
P.S. Don't use it, it doesn't work.