Как я могу вызвать функцию на стороне сервера в 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)   
    }

}

0 ответов

Другие вопросы по тегам