Java Web服务改进解析
这种改装有什么问题?请求成功,但未获取任何值 这就是我的json的样子Java Web服务改进解析,java,android,json,retrofit,retrofit2,Java,Android,Json,Retrofit,Retrofit2,这种改装有什么问题?请求成功,但未获取任何值 这就是我的json的样子 [ { "msg": "test", "time": "2017-06-20 00:39:31", "kind": "txt" }, { "msg": "مرحبا يا برو", "time": "2017-06-20 00:40:02", "kind": "txt" }, {
[
{
"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<>();
}
API类
@POST("chat/veiwPeerToPeer.php")
Call<AllMessagesResponse>getMessages(@Body AllMessages allMessages);
@POST(“chat/veiwPeerToPeer.php”)
CallgetMessages(@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) {
}
});
AllMessages AllMessages=new AllMessages();
allMessages.senderID=MainActivity.userId;
allMessages.receiverID=receiverID;
WebService.getInstance().getApi().getMessages(allMessages).enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
AllMessagesResponse AllMessagesResponse=response.body();
setTitle(String.valueOf(allMessagesResponse.getMessagesInfos().size());
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
}
});
onResponse正在工作,但我没有得到任何值对于列表,您不需要另一个pojo,您可以直接请求列表改装,直接提供列表
Call<List<POJO>>
呼叫
我获取了与您相同的JSON响应
apinterface=new-reformation.Builder()
.baseUrl(基本URL和ANDROIDHIVE)
.addConverterFactory(GsonConverterFactory.create())
.build().create(apinterface.class);
最终调用hiveCall=apinterface.getAllMovies();
enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
if(response.issusccessful()){
progressDialog.disclose();
List hiveList=response.body();
tv_改装.setText(“标题:”+hiveList.get(3).getTitle()+”\n图像:“+hiveList.get(3).getImage()+”\n评级:“+hiveList.get(3).getRating()+”\n发行年份:“+hiveList.get(3).getReleaseYear()+”\n版本:“+hiveList.get(3).getGene()”;
}否则{
Toast.makeText(getActivity(),“响应失败代码:”+Response.message(),Toast.LENGTH\u SHORT.show();
progressDialog.disclose();
}
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
System.out.println(t.getStackTrace().toString());
progressDialog.disclose();
}
});
Call<List<POJO>>
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();
}
});