5

Apache Commons IOcommons-io-2.4-bin.tar.gzを使用する Android アプリケーションを開発しています。

そして、いくつかのエラーが発生します。そのうちの1つは次のとおりです。

Could not find method java.lang.String.getBytes, referenced from method org.apache.commons.io.IOUtils.toInputStream

気にしなくてもいいと思いますよね?

Apache Commons IO の代わりに使用できる別の特定の Android ライブラリはありますか?

ここで使用しています:

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());
4

2 に答える 2

2

グアバはあなたの代わりになるかもしれません。彼らの wikiは、Android と完全に互換性があると主張しています。

Guava 11.0.2 以前は Android と完全に互換性がありますが、最新の Guava リリースには、より新しい Android バージョンが必要になる場合があります。特に、Java 6 で追加された NavigableSet およびその他の拡張機能 (Guava 12 以降で使用) は、Gingerbread に対応する Android API バージョン 9 で追加されました。

(Guava の大きな JAR サイズに関心のある Android プログラマーは、ProGuard を使用して、必要な Guava の部分のみを取得することをお勧めします。Guava は、Android アプリケーションの最も一般的な依存関係の 1 つです。)

Guava に相当するものについてはIOUtils.toString()、次の質問を確認してください: IOUtils.toString(InputStream) に相当する Guava

于 2013-06-28T07:23:50.053 に答える