使用NanoHTTPD在Android上建立本地服务器

来源:互联网 发布:淘宝怎么人工投诉电话 编辑:程序博客网 时间:2024/05/20 10:13

NanoHttpd是一个开源库,使用Java实现,可以在非常方便地集成到Android应用中去,实现了一个轻量级的 Web Server。

项目地址:
https://github.com/NanoHttpd/nanohttpd

使用方法:在下面下载链接中下载nanohttpd-2.2.0.jar导入到Android项目中的libs目录下。

https://github.com/NanoHttpd/nanohttpd/releases

下面就可以在客户端创建一个Server

public class MyServer extends NanoHTTPD {    public MyServer(int port) {        super(port);    }    @Override    public Response serve(IHTTPSession session) {        StringBuilder builder = new StringBuilder();        builder.append("<!DOCTYPE html><html><body>");        builder.append("Sorry, Can't Found the page!");        builder.append("</body></html>\n");        return newFixedLengthResponse(builder.toString());    }}

下面就是启动这个Server,我们可以放在Service中启动

public class MyService extends Service {    @Nullable    @Override    public IBinder onBind(Intent intent) {        return null;    }    @Override    public int onStartCommand(Intent intent, int flags, int startId) {        MyServer myServer = new MyServer(8080);        try {            myServer.start();        } catch (IOException e) {            e.printStackTrace();        }        return super.onStartCommand(intent, flags, startId);    }}

后面我们启动这个Service之后,Server就启动了,下面我们直接在手机的浏览器中输入127.0.0.1:8080,就可以向这个本地的Server发送请求。

注意,使用NanoHTTPD需要添加网络权限。

 <uses-permission android:name="android.permission.INTERNET"/>
阅读全文
0 0
原创粉丝点击