Fruit of Eden 371da9736c Added Controllers | 6 years ago | |
---|---|---|
app | 6 years ago | |
gradle | 6 years ago | |
.gitignore | 6 years ago | |
AndroidWebServer-master.iml | 6 years ago | |
README.md | 6 years ago | |
build.gradle | 6 years ago | |
gradlew | 6 years ago | |
gradlew.bat | 6 years ago | |
local.properties | 6 years ago | |
settings.gradle | 6 years ago |
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'
public class AndroidWebServer extends NanoHTTPD {
public AndroidWebServer(int port) {
super(port);
}
public AndroidWebServer(String hostname, int port) {
super(hostname, port);
}
//...
}
Add serve()
method in your Android Web Server Class :
@Override
public Response serve(IHTTPSession session) {
String msg = "<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>";
}
return newFixedLengthResponse( 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)
AndroidWebServer androidWebServer = new AndroidWebServer(port);
androidWebServer.start();
androidWebServer.stop();
AndroidWebServer by Lopez Mikhael is licensed under a Apache License 2.0.