Как я могу вызвать функцию на стороне сервера в NanoHTTPD
Я использую Android-приложение для мониторинга устройств и использую NanoHTTPD, чтобы пользователь мог видеть, что происходит на этих устройствах. Я хотел бы иметь возможность предоставить кнопку на веб-странице, которая может переходить один из выводов gpIO. просто простая кнопка, но нужно передать аргумент относительно булавки для перехода
пример кода (сокращен для простоты)
public class Server extends NanoHTTPD {
private final static int PORT = 8080;
public Server() throws IOException {
super(PORT);
start();
System.out.println("\nRunning! Point your browers to http://localhost:8080/ \n");
}
@Override
public Response serve(IHTTPSession session) {
String msg = "<html><body><h1>IoT server </h1>\n";
final Map<String, String> parms = session.getParms();
msg += "<form action='?' method='SUBMIT'>\n";
msg += "<input type='button' value='test' onclick=\"myFunction("+iLoop+")\">";
msg += "<input name='Submit' type='submit' value='Submit' />";
msg += "<script>";
msg += " function myFunction(f) {";
msg += " document.getElementById('Name1').value = 'Hi'+ eval(GetPin(f));"; // Something like this?
msg += " }";
msg += "</script>";
msg += "</form>\n";
return new NanoHTTPD.Response(msg + "</body></html>\n");
}
String GetPin(String s) {
// lots of code here but the net result is to return a value
return MyActivity.getIOPin(s)
}
}