Как передать динамические параметры для отдыха API в Android при использовании ViewModel - PullRequest
0 голосов
/ 30 мая 2019

Я получаю новости с сайта News Api.Я использую архитектуру ViewModel, чтобы устройство не получало результаты при изменении ориентации.

В соответствии с различными турориалами я могу получить результат в обзоре переработчика, используя модификацию и покупку модели, давая статические параметры как запрос к остальным API.

private void loadTopHeadlines() {
        ApiInterface apiInterface = ApiClient.getApiClient().create(ApiInterface.class);
        Call<TopHeadlinesResponse> response = apiInterface.getTopHeadlines("in", 20, 1,
                "api_key");
        response.enqueue(new Callback<TopHeadlinesResponse>() {
            @Override
            public void onResponse(Call<TopHeadlinesResponse> call, Response<TopHeadlinesResponse> response) {
                topHeadlinesResponse.setValue(response.body().getArticles());
            }

            @Override
            public void onFailure(Call<TopHeadlinesResponse> call, Throwable t) {

            }
        });
    }

Как вы можете видеть вКласс ViewModel, создаваемый методом getTopHeadlines (), использует статические параметры.Как мне изменить его на динамические параметры.

Статический параметр

Call<TopHeadlinesResponse> response = apiInterface.getTopHeadlines("in", 20, 1,
                "api_key");

Динамический параметр

Call<TopHeadlinesResponse> response = apiInterface.getTopHeadlines(dynamic, dynamic, dynamic,
                "api_key");

1 Ответ

0 голосов
/ 31 мая 2019

Таким образом, в основном ваш метод должен принимать эти параметры, например ::100100

private void loadHeadlines(String stringValue, int number, int otherNumer)
//...do some stuff
Call<TopHeadlinesResponse> response = apiInterface.getTopHeadlines(stringValue, number, otherNumber, "api_key");
//rest stays the same
}
...