Android开发利用NanoHttpd搭建服务器

引言

NanoHTTPD是一个免费、轻量级的HTTP服务器, 使用Java实现,能够在很是方便地集成到Android应用中去,实现了一个轻量级的 Web Server。html

步骤

在客户端建立一个Server,java

public class SimpleServer extends NanoHTTPD {

    public SimpleServer(int port) {
        super(port);
    }

    @Override
    public Response serve(IHTTPSession session) {
        StringBuilder builder = new StringBuilder();
        builder.append("<!DOCTYPE html><html><body>");
        builder.append("<p>Hello! This Android HTTP Server.</p>");
        builder.append("<h1>:)</h1></body></html>\n");
        return newFixedLengthResponse(builder.toString());
    }
}复制代码

在继承页面Activity类中建立一段代码用于启用服务器android

public class MainActivity extends Activity {
 
    private SimpleServer server;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
                //访问地址: http://127.0.0.1:8080
        server = new SimpleServer(8080);
        try {
            
            // 由于程序模拟的是html放置在asset目录下,
            // 因此在这里存储一下AssetManager的指针。
            server.asset_mgr = this.getAssets();
            
            // 启动web服务
            server.start();
            
            Log.i("Httpd", "The server started.");
        } catch(IOException ioe) {
            Log.w("Httpd", "The server could not start.");
        }
    }
}复制代码

最后, 使用NanoHTTPD须要添加网络权限web

<uses-permission android:name="android.permission.INTERNET"/>复制代码


测试访问地址: http://127.0.0.1:8080服务器


参考来源:

  • Android之利用NanoHttpd搭建服务器 点这
  • 使用NanoHTTPD在Android上创建本地服务器 点这
  • NanoHTTPD-2.3.1.jar 下载地址 点这
相关文章
相关标签/搜索