AndroidWebServer

Introduction: Android Web Server (NanoHttpd)
More: Author   ReportBugs   
Tags:

Platform Twitter

This is a sample project for creating an Android Web Server using the NanoHTTPD library.

Usage

  1. To make an Android Web Server add NanoHTTPD dependency in your build.gradle file:

     compile 'org.nanohttpd:nanohttpd:2.2.0'
    
  2. After that, you must create an Android Web Server Class this way:

     public class AndroidWebServer extends NanoHTTPD {
    
         public AndroidWebServer(int port) {
             super(port);
         }
    
         public AndroidWebServer(String hostname, int port) {
             super(hostname, port);
         }
    
         //...
     }
    
  3. 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.

  4. You can now instantiate and start your server in your activity. (Full implementation here)

     AndroidWebServer androidWebServer = new AndroidWebServer(port);
     androidWebServer.start();
    
     androidWebServer.stop();
    

LICENCE

AndroidWebServer by Lopez Mikhael is licensed under a Apache License 2.0.

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools