This is a sample project for creating an Android Web Server using the NanoHTTPD library.
To make an Android Web Server add NanoHTTPD dependency in your build.gradle file:
compile 'org.nanohttpd:nanohttpd:2.2.0'After that, you must create an Android Web Server Class this way:
publicclassAndroidWebServerextendsNanoHTTPD{publicAndroidWebServer(intport){super(port)} publicAndroidWebServer(Stringhostname, intport){super(hostname, port)} //... }
Add
serve()method in your Android Web Server Class :@OverridepublicResponseserve(IHTTPSessionsession){Stringmsg = "<html><body><h1>Hello server</h1>\n"; Map<String, String> parms = session.getParms(); if (parms.get("username") == null){msg += "<form action='?' method='get'>\n"; msg += "<p>Your name: <input type='text' name='username'></p>\n"; msg += "</form>\n"} else{msg += "<p>Hello, " + parms.get("username") + "!</p>"} returnnewFixedLengthResponse( msg + "</body></html>\n" )}
serve()is a very important method beacause this is the response sent by your web server.You can now instantiate and start your server in your activity. (Full implementation here)
AndroidWebServerandroidWebServer = newAndroidWebServer(port); androidWebServer.start();
androidWebServer.stop();
AndroidWebServer by Lopez Mikhael is licensed under a Apache License 2.0.