ブラウザを使用して画像をダウンロードすると、その回答が得られます。レスポンスが返されないretrofit2
私はAndroidとRetrofit2を使用して画像をダウンロードするのに同じサーバーを使用します。画像はうねりがよく、端末で処理した結果が表示されますが、アプリケーションには何も表示されません。ここで
resultCall.enqueue(new Callback<Result>() {
@Override
public void onResponse(Call<Result> call, Response<Result> response) {
// Response Success or Fail
if (response.isSuccessful()) {
if (response.body().getResult().equals("success")) {
Snackbar.make(parentView, R.string.string_upload_success, Snackbar.LENGTH_LONG).show();
Log.i("onResponse", "File Uploaded Successfully");
} else {
Snackbar.make(parentView, R.string.string_upload_fail, Snackbar.LENGTH_LONG).show();
Log.i("onResponse", " Something went wrong");
}
} else {
Snackbar.make(parentView, R.string.string_upload_fail, Snackbar.LENGTH_LONG).show();
Log.i("onResponse", " Something went wrong");
}
}
@Override
public void onFailure(Call<Result> call, Throwable t) {
Log.i("onFailure", t.getMessage());
Log.e("onFailure", Arrays.toString(t.getStackTrace()));
}
});
はエラーです
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220),
retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:37),
retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyC onverter.java:25), retrofit2.ServiceMethod.toResponse(ServiceMethod.java:116),
retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:211),
retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:106),
okhttp3.RealCall$AsyncCall.execute(RealCall.java:133),
okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32),
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113),
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588),
java.lang.Thread.run(Thread.java:818)
そして
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $
結果クラス:
public class Result {
@SerializedName("result")
@Expose
private String result;
/**
* @return The result
*/
public String getResult() {
return result;
}
/**
* @param result The result
*/
public void setResult(String result) {
this.result = result;
}
}
投稿結果クラス –
私は結果クラスを追加します – zaki