OpenWeather api, возвращающий нулевые значения - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь получить данные из openweather api, используя retrofit2 и Gson, но он всегда возвращает ошибку нулевого значения.

Я попытался отладить, и возвращенный ответ в порядке, но возвращает ноль.

Вот мой код ..

КЛАССЫ ПОЖО были взяты отсюда. http://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22

Как я пытаюсь получить.

API интерфейс

public interface Api {

    String api_key = "b6907d289e10d714a6e88b30761fae22";
    String BASE_URL= "http://api.openweathermap.org/data/2.5/";


   @GET("weather")
    Call<Weather> getWeather(@Query("lat") String latitude, @Query("lon") String longitude, @Query("appid") String api_key);


}

LoadWeather ()

 public  void LoadWeather()

    {

        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(Api.BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        Api api = retrofit.create(Api.class);

        Call<Weather> weatherCall = api.getWeather("12.9716", "77.5946", api_key);
        weatherCall.enqueue(new Callback<Weather>() {
            @Override
            public void onResponse(Call<Weather> call, Response<Weather> response) {

                Weather weather = response.body();
                 String temp = weather.getList().get(0).getMain().getTemp().toString();
                Log.d(TAG,"onReponse :"+weather);

            }

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

            }

        });
    }

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Возможно ли, что вы забыли включить какой API вы хотите использовать в URL? Может быть, вам нужно:

String BASE_URL= "http://api.openweathermap.org/data/2.5/weather?";
0 голосов
/ 08 мая 2018

Вы используете ключ приложения 'b6907d289e10d714a6e88b30761fae22', который используется для примеры ( samples .openweathermap.org).

Вы должны подписаться , чтобы получить свой собственный ключ API.

...