Я кодирую метод, который возвращает 1 запись из БД, у меня есть аналогичный метод, который возвращает все записи, и он работает должным образом, но при возврате 1 записи происходит сбой !!
public class UpdateIssueActivity extends AppCompatActivity {
IssueModel mIssuesList;
ImageView imgView;
ApiInterface apiInterface;
private static final String TAG = "UpdateIssueActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update_issue);
Log.d(TAG, "got into UpdateIssueActivity");
int Id = getIntent().getIntExtra("IssueId", 0);
apiInterface = ApiClient.getClient().create(ApiInterface.class);
Call<IssueModel> call = apiInterface.GetIssue(Id);
call.enqueue(new Callback<IssueModel>() {
@Override
public void onResponse(@NonNull Call<IssueModel> call, @NonNull Response<IssueModel> response) {
if (response.isSuccessful()) {
Log.d(TAG, "got inside onResponse");
}
else {
Toast.makeText(UpdateIssueActivity.this, "Failure while requesting token", Toast.LENGTH_LONG).show();
Log.d("RequestTokenCallback", "Code: " + response.code() + "Message: " + response.message());
}
}
@Override
public void onFailure(Call<IssueModel> call, Throwable t) {
Toast.makeText(UpdateIssueActivity.this, "onFailure", Toast.LENGTH_SHORT).show();
Log.d(TAG, "inside onFailure");
}
});
}
}
это модель
public class IssueModel {
@SerializedName("issueId")
@Expose
private int issueId;
@SerializedName("issueName")
@Expose
private String issueName;
@SerializedName("issueDescription")
@Expose
private String issueDescription;
@SerializedName("issuePhoto")
@Expose
private String issuePhoto;
@SerializedName("issueDate")
@Expose
private String issueDate;
@SerializedName("issuePriority")
@Expose
private int issuePriority;
@SerializedName("issueOwner")
@Expose
private String issueOwner;
@SerializedName("issueSite")
@Expose
private String issueSite;
@SerializedName("issueProject")
@Expose
private String issueProject;
@SerializedName("issueStatus")
@Expose
private int issueStatus;
@SerializedName("issueSolverId")
@Expose
private int issueSolverId;
@SerializedName("issueSolveDate")
@Expose
private Date issueSolveDate;
@SerializedName("Response")
private String Response;
public int getIssueId() {
return issueId;
}
public void setIssueId(int issueId) {
this.issueId = issueId;
}
public String getIssueName() {
return issueName;
}
public void setIssueName(String issueName) {
this.issueName = issueName;
}
public String getIssueDescription() {
return issueDescription;
}
public void setIssueDescription(String issueDescription) {
this.issueDescription = issueDescription;
}
public String getIssuePhoto() {
return issuePhoto;
}
public void setIssuePhoto(String issuePhoto) {
this.issuePhoto = issuePhoto;
}
public String getIssueDate(){ return issueDate;}
public int getIssuePriority() {
return issuePriority;
}
public void setIssuePriority(int issuePriority) {
this.issuePriority = issuePriority;
}
public String getIssueOwner() {
return issueOwner;
}
public void setIssueOwner(String issueOwner) {
this.issueOwner = issueOwner;
}
public String getIssueSite() {
return issueSite;
}
public void setIssueSite(String issueSite) {
this.issueSite = issueSite;
}
public String getIssueProject() {
return issueProject;
}
public void setIssueProject(String issueProject) {
this.issueProject = issueProject;
}
public int getIssueStatus() {
return issueStatus;
}
public void setIssueStatus(int issueStatus) {
this.issueStatus = issueStatus;
}
public int getIssueSolverId() {
return issueSolverId;
}
public void setIssueSolverId(int issueSolverId) {
this.issueSolverId = issueSolverId;
}
public Date getIssueSolveDate() {
return issueSolveDate;
}
public void setIssueSolveDate(Date issueSolveDate) {
this.issueSolveDate = issueSolveDate;
}
public String getResponse() { return Response; }
public void setResponse(String response) { Response = response; }
это ApiInterface
@GET("get_issue.php")
Call<IssueModel> GetIssue(@Query("issue_id") int Id);
это ApiClient
public static final String Base_Url="http://192.168.8.102:80/flown_app/api/";
private static Retrofit retrofit = null;
private static Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd hh:mm:ss")
.setLenient()
.create();
public static Retrofit getClient() {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();
retrofit = new Retrofit.Builder()
.baseUrl(Base_Url)
.addConverterFactory(GsonConverterFactory.create(gson))
.client(client)
.build();
return retrofit;
}
Я получаю этот ответ
D/IssueAdapter: StartActivity Called
W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@f49d7c2
D/UpdateIssueActivity: got into UpdateIssueActivity
D/OkHttp: --> GET http://192.168.8.102/flown_app/api/get_issue.php?issue_id=1
--> END GET
D/OkHttp: <-- 200 OK http://192.168.8.102/flown_app/api/get_issue.php?issue_id=1 (16ms)
Date: Tue, 14 Jan 2020 05:34:52 GMT
Server: Apache/2.4.41 (Win64) OpenSSL/1.0.2s PHP/7.1.33
X-Powered-By: PHP/7.1.33
Content-Length: 239
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
D/OkHttp: [{"issueId":"1","issueOwner":"Mohammed","issueSite":"test1","issueProject":"Test Project","issueName":"test 1","issueDescription":"test 1 on postman","issueStatus":"1","issuePriority":"1","issueDate":"2019-12-23 09:22:20","issuePhoto":""}]
<-- END HTTP (239-byte body)
D/EGL_emulation: eglMakeCurrent: 0xe86f1480: ver 2 0 (tinfo 0xee831f80)
D/UpdateIssueActivity: inside onFailure