حال دستوراتی که من در متد onResponse و onFailure نوشتم بصورت زیره:
myService.registerUser(signup).enqueue(new Callback<SignupResponse>() {
@Override
public void onResponse(Call<SignupResponse> call, Response<SignupResponse> response) {
if (response.isSuccessful()) {
alertShowMessage.setVisibility(View.VISIBLE);
alertShowMessage.setMessageText(response.body().getMessage());
} else {
alertShowMessage.setVisibility(View.VISIBLE);
alertShowMessage.setMessageText(response.body().getMessage());
}
}
@Override
public void onFailure(Call<SignupResponse> call, Throwable t) {
alertShowMessage.setVisibility(View.VISIBLE);
alertShowMessage.setMessageText(t.getMessage());
}
});
public interface MyServiceAPI {
String BASE_URL = "http://192.168.1.37/restful/";
@POST("signup.php")
Call<SignupResponse> registerUser(@Body Signup signup);
}
نمونه خروجی وب سرویس
کد:
{"message":"اطلاعات شما با موفقیت ثبت گردید. نام کاربری و رمز عبور به شماره تماس وارد شده ارسال گردید."}
public class Signup {
private String name;
private String family;
private String mobile;
private String dateOfBirth;
private String province;
private String brand;
private String model;
private String version;
private String serialnumber;
public String getName() {
retu name;
}
public void setName(String name) {
this.name = name;
}
public String getFamily() {
retu family;
}
public void setFamily(String family) {
this.family = family;
}
public String getMobile() {
retu mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getDateOfBirth() {
retu dateOfBirth;
}
public void setDateOfBirth(String dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public String getProvince() {
retu province;
}
public void setProvince(String province) {
this.province = province;
}
public String getBrand() {
retu brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getModel() {
retu model;
}
public void setModel(String model) {
this.model = model;
}
public String getVersion() {
retu version;
}
public void setVersion(String version) {
this.version = version;
}
public String getSerialnumber() {
retu serialnumber;
}
public void setSerialnumber(String serialnumber) {
this.serialnumber = serialnumber;
}
}
public class SignupResponse {
@SerializedName("message")
@Expose
private String message;
public String getMessage() {
retu message;
}
public void setMessage(String message) {
this.message = message;
}
}
کد:
Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $
چند روزی هست که با این مشکل درگیرم علت و راه حل مشکل رو نتونستم پیدا کنم
از دوستان کسی می دونه چرا فیلدهای کلاس Signup ارسال نشده و این پیغامی که چاپ شده به چه دلیلی هستش و راه حل برطرف کردنش چیه ؟؟؟
خواهشا راهنماییم کنید
با تشکر
برچسب:
نویسنده: کاوه محمدزادگان