开发一个 Android Webdav 服务器

Develop an Android Webdav server

在我的应用程序中,我有一个 NanoHttpd 服务器 https://github.com/NanoHttpd/nanohttpd 但现在我想添加一个 webdav 支持。我正在寻找一些教程或建议来做到这一点,但我发现只有 jackrabbit 库没有任何教程或指南。 你有什么建议可以给我吗?

一些人已将 milton 集成到他们的 android 应用程序中以添加 webdav 服务器功能。看这里 - http://milton.io

主页上有教程链接。 android 没有什么特别的,但应该是直截了当的。

(根据下面关于 nanohttpd 的评论) 要与 nanohttpd 集成,您需要实现 Request 和 Response 接口,以包装来自 nanohttpd 的数据。并且您需要创建一个 miltons HttpManager 实例,并将请求和响应对象传递给每个请求的处理方法。

请注意,milton 与开箱即用的 Simple http 容器(称为 Simpleton)集成在一起,因此您可以使用它来代替 nanohttpd。只需创建 io.milton.simpleton.SimpletonServer 的实例并调用其 start() 方法

如果你想使用它,你可以按照 Simpleton 实现代码作为与 nanohttpd 集成的指南:

https://github.com/miltonio/milton2/tree/master/milton-server-ce/src/main/java/io/milton/simpleton

这显示了来自 io.milton.grizzly.GrizzlyServer 的相当典型的集成。真的很简单。

@Override
public void service(Request request, Response response) throws Exception {
    GrizzlyMiltonRequest req = new GrizzlyMiltonRequest(request);
    GrizzlyMiltonResponse resp = new GrizzlyMiltonResponse(response);
    httpManager.process(req, resp);
}

自 2016 年 1 月 29 日起,NanoHTTPD 支持 WebDAV 动词。您只想提取上一个版本并处理新动词。