【发布时间】:2018-07-24 07:29:09
【问题描述】:
我有一个应用程序,我必须在其中获取收入消息列表,这些消息将被分类到Listview。我从服务器开发人员那里得到了我的GET 请求的一些详细信息:
HTTP 200
{
"count": int, # number of messages
"messages": [ # array of messages
{
"id": int, # message id
"subject": str, # message subject
"can_delete": int, # can it be deleted (1) or not (0)
"new": int # message already read (0) or not (1)
"date": str, # date of message in 'd.m.y'. If message was sent today format will be 'H:M'
"receiver_name": str, # name of receiver if type=1
"sender_name": str, # name of sender if type=0
}, ...
],
"next_url": URL, # url for get next messages, if no more messages value is null
"previous_url": URL # url for get previous messages, if no more messages value is null
}
现在我创建了一个Interface:
@Headers("Content-type: application/json")
@GET("/v1/message/list?type=TYPE")
Call<List<IncomeMessages>> getInMess(@Query("count") String count,
@Query("messages") String messages,
@Query("id") Integer id,
@Query("subject") String subject,
@Query("new") Integer new_m,
@Query("date") String date,
@Query("receiver_name") String receiver_name,
@Query("sender_name") String sender_name,
@Query("next_url") URL next_url,
@Query("previous_url") URL previous_url);
然后我创建了一个简单的Class 请求:
public class IncomeMessages
{
@SerializedName("subject")
private String subject;
@SerializedName("date")
private String date;
@SerializedName("sender_name")
private String sender_name;
@SerializedName("receiver_name")
private String receiver_name;
public IncomeMessages(String sender_name, String date, String receiver_name, String subject) {
this.sender_name = sender_name;
this.date = date;
this.receiver_name = receiver_name;
this.subject = subject;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getSender_name() {
return sender_name;
}
public void setSender_name(String sender_name) {
this.sender_name = sender_name;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getReceiver_name() {
return receiver_name;
}
public void setReceiver_name(String receiver_name) {
this.receiver_name = receiver_name;
}
}
现在我不知道如何从server 中获取所有这些parameters 并将其分类为Listview。我也有request:curl -i -X GET -H "Content-Type:application/json" -H "Authorization:Bearer $ACCESS_TOKEN"https://server/v1/message/list?type=TYPE 的样本我是Retrofit 请求的初学者,也许以前有人解决过类似的问题。所以我认为你会帮助我解决以下问题。 (对不起我的英语不好:)
【问题讨论】:
-
你只会得到你在改造请求中在类中声明的变量,作为响应,所有数据都在那里,但你使用的类没有所有变量
-
是的,我明白了,但是我不明白如何在mainactivity类中初始化下面的接口和请求类???
标签: android client client-server retrofit retrofit2