Каков наилучший способ использования гиперссылок API на Android? - PullRequest
0 голосов
/ 09 марта 2020

Если бы у меня был ответ JSON, как показано ниже (например, адаптированный из swapi.co/api/people/1):

{
    "name": "Luke Skywalker",
    "height": "172",
    "mass": "77",
    "films": [
        "https://swapi.co/api/films/2/",
        "https://swapi.co/api/films/6/",
        "https://swapi.co/api/films/3/",
        "https://swapi.co/api/films/1/",
        "https://swapi.co/api/films/7/"
    ]
}

Мы можем видеть, что films представлен в виде массива ссылок на страницы с подробностями. Если бы я хотел показать всю эту информацию на одном экране в приложении Android, каков наилучший способ сделать это? В настоящее время я думаю об использовании Retrofit и создании такого класса:

public class Person {
    public String name;
    public String height;
    public String mass;
    public String[] filmUrls; // or should this be public Film films;
}

Но я не совсем понимаю, каков наилучший способ разбора URL-адресов для отображения всей связанной информации.

1 Ответ

1 голос
/ 09 марта 2020

Таким образом, ваш класс модели выглядит так:

public class Example {

    @SerializedName("name")
    @Expose
    private String name;
    @SerializedName("height")
    @Expose
    private String height;
    @SerializedName("mass")
    @Expose
    private String mass;
    @SerializedName("films")
    @Expose
    private List<String> films = null;

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public String getHeight() {
    return height;
    }

    public void setHeight(String height) {
    this.height = height;
    }

    public String getMass() {
    return mass;
    }

    public void setMass(String mass) {
    this.mass = mass;
    }

    public List<String> getFilms() {
    return films;
    }

    public void setFilms(List<String> films) {
    this.films = films;
    }

}

И да, вы можете go с Retrofit. Это будет легко и эффективно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...