Java Android上的ApacheCommons IO
我正在开发一个Android应用程序,它使用,commons-io-2.4-bin.tar.gz 我得到了一些错误,其中一个: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
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());