Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android上的ApacheCommons IO_Java_Android_Apache Commons - Fatal编程技术网

Java Android上的ApacheCommons IO

Java Android上的ApacheCommons IO,java,android,apache-commons,Java,Android,Apache Commons,我正在开发一个Android应用程序,它使用,commons-io-2.4-bin.tar.gz 我得到了一些错误,其中一个: Could not find method java.lang.String.getBytes, referenced from method org.apache.commons.io.IOUtils.toInputStream 我想我不必担心,不是吗 我是否可以使用另一个特定的Android库来代替Apache Commons IO? 我在这里使用它: impor

我正在开发一个Android应用程序,它使用,commons-io-2.4-bin.tar.gz

我得到了一些错误,其中一个:

Could not find method java.lang.String.getBytes, referenced from method org.apache.commons.io.IOUtils.toInputStream
我想我不必担心,不是吗

我是否可以使用另一个特定的Android库来代替Apache Commons IO?

我在这里使用它:

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.io.IOUtils;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.web.client.DefaultResponseErrorHandler;
import org.springframework.web.client.ResponseErrorHandler;

import android.util.Log;

public class CustomResponseErrorHandler implements ResponseErrorHandler
{

    private ResponseErrorHandler errorHandler = new DefaultResponseErrorHandler();

    @Override
    public void handleError(ClientHttpResponse response) throws IOException
    {
        String theString = IOUtils.toString(response.getBody());
        Log.v("Error Handler", theString);
        CustomException exception = new CustomException();
        Map<String, Object> properties = new HashMap<String, Object>();
        properties.put("code", response.getStatusCode().toString());
        properties.put("body", theString);
        properties.put("header", response.getHeaders());
        exception.setProperties(properties);

        throw exception;
    }

    @Override
    public boolean hasError(ClientHttpResponse response) throws IOException
    {
        return errorHandler.hasError(response);
    }

}
可能是你的好替代品。声称它们与Android完全兼容:

Guava 11.0.2及更早版本与Android完全兼容,但最新的Guava版本可能需要更新的Android版本。特别是,Java6中添加的NavigableSet和其他扩展(Guava12及更高版本使用)在Android API版本9中添加,与Gingerbread相对应

(建议关注Guava大罐子大小的Android程序员使用ProGuard只获取他们需要的Guava部分。Guava是Android应用程序最常见的依赖项之一。)


对于Guava等效的
IOUtils.toString()
检查以下问题:

我建议使用Apache Commons IO库源代码,然后将其打包到Android:)我已将其打包在repo中。只需将其导入您选择的IDE即可

谢谢你的回答。我如何使用ProGuard只获取我需要的番石榴部分?@VansFannel:这在wiki页面上有记录:,如果你想要更多信息,我认为最好打开一个新问题。
String theString = IOUtils.toString(response.getBody());