我正在尝试用改进的方法来开发clent-server应用程序。我的应用程序用字符串“image”发送到服务器json,并用字段“name”的字符串响应json。
我的API:
public interface API {
@FormUrlEncoded
@POST("/api/classification/imagenet")
Call<GestureJson> getName(@Body ImageJson json);
}
public class ImageJson {
public String imageString;
}
public class NameJson {
public int gestureNumber;
}
public void MyVoid() {
String requestUrl = url;
Retrofit retrofit = new Retrofit.Builder()
.addCallAdapterFactory(GsonConverterFactory.create())
.baseUrl(requestUrl)
.build();
API api = retrofit.create(API.class);
ImageJson json = new ImageJson();
json.imageString = image_uri.toString();
Call<GestureJson> call = api.getName(json);
call.enqueue(new Callback<GestureJson>() {
@Override
public void onResponse(Call<GestureJson> call, Response<GestureJson> response) {
if (response.isSuccessful()) {
status = RESPONSE_SUCCESS;
} else {
status = RESPONSE_FAIL;
}
}
@Override
public void onFailure(Call<GestureJson> call, Throwable t) {
}
});
2).AddCallAdapterFactory(gsonConverterFactory.create())在Retorfit和retorfit2中强调了错误程度。
3)如果删除.AddCallAdapterFactory(GSONConverterFactory.Create())我可以编译应用程序。但是我有一个问题:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.opencvproject, PID: 17742
java.lang.IllegalArgumentException: Unable to create converter for class com.example.opencvproject.GestureJson
for method API.getGesture
com.squareup.retrofit2:converter-gson
AddCallAdapterFactory(GSONConverterFactory.create())
,那么改进型将不知道如何将json反序列化为对象。GsonConverterFactory在引擎盖下使用Gson libarary(https://github.com/google/Gson)反序列化服务器json响应。最后是宠物类,它应该是reponse:
我正在使用、和,我真的不知道是什么导致了这个错误,但是它只发生在release apk中,当是时,所以我猜这是一个发布的proguard但是我不知道到底是什么问题。 我的错误是: 下面是: 和: 最后是我的Proguard文件:
但每次我都收到异常:创建@body转换器 我怎么送?或者其他我能做到的想法。您甚至可以向我提供包含json的简单参数。这对我很合适
我在我的应用程序和Gson转换器中使用了改型。我想使用数据库时,没有互联网连接。我决定用糖兽。但我得到一个。 java.lang.IllegalArgumentException:无法为类创建转换器
我在使用ActiveAndroid对API调用和数据库进行修改。在Pre6.0的Android设备上,一个应用程序可以很好地工作。无法确定根本原因。 改装2 Beta-4。Android6。无法创建转换器 我不明白为什么要使用gson或gsonbuilder? 感谢任何帮助。
我在MoshiConverterFactory和restfit上遇到了一个问题--我不能将POST JSON请求发送到RestAPI,因为它总是导致错误。我可以用Multipart成功地做到这一点,但API不支持它,所以这是不可能的... 我已经尝试做了什么:在我的AuthData类的参数上添加注释(错误仍然相同),传递多部分和表单URL编码的数据(API不支持)。有人看到我做错了什么吗?我也没有