繁体   English   中英

Android上的Apache Commons IO

[英]Apache Commons IO on Android

我正在开发一个使用Apache Commons IOcommons-io-2.4-bin.tar.gz的Android应用程序。

我得到一些错误,其中之一:

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);
    }

}

在这一行:

String theString = IOUtils.toString(response.getBody());

我建议使用Apache下议院IO库源,然后将其打包到Android :)我已经在回购包装它在这里 只需将其导入您选择的IDE即可!

番石榴可能是一个很好的替代品。 他们的wiki声称他们与Android完全兼容:

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

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

对于IOUtils.toString()的Guava等价物,请检查以下问题: IOUtils.toString(InputStream)的Guava等价物

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM