[英]Web Service retrofit parsing
这个改造有什么问题? 请求成功,但没有价值
这就是我的json的样子
[
{
"msg": "test",
"time": "2017-06-20 00:39:31",
"kind": "txt"
},
{
"msg": "مرحبا يا برو",
"time": "2017-06-20 00:40:02",
"kind": "txt"
},
{
"msg": "url",
"time": "2017-06-20 01:57:12",
"kind": "img"
},
{
"msg": "url",
"time": "2017-06-20 01:58:54",
"kind": "video"
}
]
AllMessagesResponse类
public class AllMessagesResponse {
public ArrayList<MessagesInfo> getMessagesInfos() {
return messagesInfos;
}
private ArrayList<MessagesInfo>messagesInfos=new ArrayList<>();
}
MessageInfo类
public class MessagesInfo{
@SerializedName("time")
private String time;
@SerializedName("msg")
private String msgs;
@SerializedName("kind")
private String kind;
@SerializedName("sender")
private String senderID;
public String getTime() {
return time;
}
public String getMsgs() {
return msgs;
}
public String getKind() {
return kind;
}
public String getSenderID() {
return senderID;
}
}
API类
@POST("chat/veiwPeerToPeer.php")
Call<AllMessagesResponse>getMessages(@Body AllMessages allMessages);
主要活动课
AllMessages allMessages=new AllMessages();
allMessages.senderID=MainActivity.userId;
allMessages.receiverID=receiverId;
WebService.getInstance().getApi().getMessages(allMessages).enqueue(new Callback<AllMessagesResponse>() {
@Override
public void onResponse(Call<AllMessagesResponse> call, Response<AllMessagesResponse> response) {
AllMessagesResponse allMessagesResponse=response.body();
setTitle(String.valueOf(allMessagesResponse.getMessagesInfos().size()));
}
@Override
public void onFailure(Call<AllMessagesResponse> call, Throwable t) {
}
});
onResponse正在工作,但我没有任何价值
您不需要其他pojo即可直接请求列表Retrofit直接提供列表。
Call<List<POJO>>
我获取与您相同的JSON响应。 查看网址
apiInterface = new Retrofit.Builder()
.baseUrl(BASE_URL_ANDROIDHIVE)
.addConverterFactory(GsonConverterFactory.create())
.build().create(ApiInterface.class);
final Call<List<AndroidHive>> hiveCall = apiInterface.getAllMovies();
hiveCall.enqueue(new Callback<List<AndroidHive>>() {
@Override
public void onResponse(Call<List<AndroidHive>> call, Response<List<AndroidHive>> response) {
if (response.isSuccessful()) {
progressDialog.dismiss();
List<AndroidHive> hiveList = response.body();
tv_retrofit.setText("Title : " + hiveList.get(3).getTitle() + "\n Image : " + hiveList.get(3).getImage() + "\n Rating : " + hiveList.get(3).getRating() + " \n Release Year : " + hiveList.get(3).getReleaseYear() + "\n Gener : " + hiveList.get(3).getGenre());
} else {
Toast.makeText(getActivity(), "Response Failed Code : " + response.message(), Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
}
}
@Override
public void onFailure(Call<List<AndroidHive>> call, Throwable t) {
System.out.println(t.getStackTrace().toString());
progressDialog.dismiss();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.