android - 开发一个 Android Webdav 服务器

标签 android http webdav nanohttpd

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

最佳答案

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

教程链接在主页上。没有什么特定于 Android 的,但它应该是直截了当的。

(根据下面关于 nanohttpd 的评论) 要与 nanohttpd 集成,您需要实现 Request 和 Response 接口(interface),以包装来自 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);
}

关于android - 开发一个 Android Webdav 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693370/

相关文章:

java - 使用基本身份验证的 OData4j 查询

android - 使用 CursorLoader 获取联系人导致重复

c# - 从 Selenium.Webdriver 2.44 更新到 2.46 导致 NullReferenceException

java - 如何为 http 代理配置 netty 管道

ubuntu - 如何在不安装 davfs2 的情况下以编程方式在 Ubuntu 上挂载 WebDAV?

android - 如何在点击设置图标时显示设置菜单?

c - 删除 TCP、IP 和以太网 header 后,从数据包中获取 HTTP header

http - 当拒绝客户端身份验证时让 servlet 给出 403 响应

c# - directory.exists 是否适用于 URL?

ruby-on-rails - Rails 3、HTTP 扩展(WebDAV)和 Rack App 安装