在android上实现WebDAV客户端

时间:2011-04-07 12:57:44

标签: android webdav

我正在使用jakarta / slide项目在我的Android设备上实现webDAV客户端。 我把所有必要的jar文件放到外部库中, 我的代码:

package com.android.webdav;

import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;

import org.apache.commons.httpclient.HttpException;
import org.apache.util.HttpURL;
import org.apache.webdav.lib.WebdavResource;

import android.app.Activity;
import android.os.Bundle;

public class Webdav extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        try {
            HttpURL hrl = new HttpURL("serverUrl");
            hrl.setUserInfo("username", "password");
            WebdavResource wdr = new WebdavResource(hrl);
            File fn = new File("remote-file");
            wdr.getMethod(fn);
            File LocFile = new File("mnt/sdcard/test/");
            wdr.putMethod(LocFile);
            wdr.close();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (HttpException e) {
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
} 

但我收到错误,

java.lang.NoClassDefFoundError: org.apache.webdav.lib.WebdavResource

上面已经在jar中添加了类。 需要帮助。

由于

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

沙丁鱼+ http://code.google.com/p/httpclientandroidlib/ 工作,因为httpclientandroidlib已重命名所有包名称。见android sardine + httpclientandroidlib -> new package names

答案 2 :(得分:0)