У меня в приложении я работаю с сообщениями которые приходят мне в одном сервисе. У каждого письма может быть, или не быть, прикрепленный файл который пользователь захочет скачать. Для скачивания мне выдали апи, для начала вот само апи:
URL
id - message id for view INT
attach_file_name - name of attached file
https://сервер/v1/message/<id>/attachment/<attach_file_name>
Method
GET
URL Params
type
0 - for received messages
1 - for sent messages
Data Params
{}
Success Response
HTTP 200
Headers:
Content-Type: TYPE # file mimetype
Content-Disposition: attachment; filename=FILENAME # attached file name
Body: file
Sample Call
curl -i -X GET -H "Content-Type:application/json" -H "Authorization:Bearer $ACCESS_TOKEN" https://сервер/v1/message/ID/attachment/ATTACH_FILE_NAME?type=TYPE
вот пример как в ответе сервера, в письме выглядит два прикрепленных файла:
"attach": [[название файла ", 0.0], ["название файла ", 0.4443359375]]
у меня есть класс который отвечает за показ самого сообщения, для того что-бы скачать определенный файл мне нужно его имя и id сообщения в котором этот файл есть. Класс для показа сообщения имеет несколько функций, которые направлены на то, что-бы вытащить из ответа сервера все что касается письма, тему дату получения, отправителя, и само сообщение. Я так понимаю что нужно в этот же класс вставить функцию которая будет получать список одного/нескольких прикрепленных файлов. Вот класс который я использую для показа сообщения:
public class ViewMessage {
@SerializedName("date")
@Expose
private String date;
@SerializedName("type")
@Expose
private String type;
@SerializedName("user_id")
@Expose
private String userId;
@SerializedName("body")
@Expose
private String body;
@SerializedName("can_delete")
@Expose
private String canDelete;
@SerializedName("can_reply")
@Expose
private String canReply;
@SerializedName("name")
@Expose
private String name;
@SerializedName("subject")
@Expose
private String subject;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
/*public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}*/
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public String getCanDelete() {
return canDelete;
}
/*public void setCanDelete(String canDelete) {
this.canDelete = canDelete;
}*/
public String getCanReply() {
return canReply;
}
/*public void setCanReply(String canReply) {
this.canReply = canReply;
}*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSubject() {
return subject;
}
/*public void setSubject(String subject) {
this.subject = subject;
}*/
}
я не могу понять как будет выглядеть функция, которая будет вытаскивать название и размер одного/нескольких прикрепленных файлов. Это по факту массив, в котором есть еще массивы. Но я не могу создать нужный мне метод.
Я хочу сделать такую функцию которая будет получать названия всех прикрепленных файлов которые есть в сообщении.
Если кто понял как мне помочь, то я буду очень благодарен за предоставленную помощь.