GitHub - gmwu/AndroidWebServer: Android Web Server (NanoHttpd) · GitHub
Skip to content

gmwu/AndroidWebServer

 
 

Folders and files

Repository files navigation

AndroidWebServer

Android Arsenal Platform API Twitter

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

Android app on Google Play

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.

About

Android Web Server (NanoHttpd)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • Java 100.0%