Utilisation de la fonction Call Enqueue dans Retrofit

Je suis en utilisant Retrofit-2.0.0 pour mon application. Maintenant, chaque tutoriel sur la Rénovation que j'ai trouvé sur le web est fondée sur les Retrofit et il n'y avait pas Call<T> interface. C'est la première fois que je suis à l'aide de Rénovation et je suis à plusieurs reprises d'obtenir null object reference. Voici mon modèle de réseau de l'interface

public interface TMovieDBService {
    @GET("/movie")
    Call<MovieResponse> getMovieResponse(@Query("sort_by") String sortKey,
                             @Query("api_key") String apiKey);
}

Et c'est mon updateMovies() fonction qui met à jour la liste des films.

void updateMovies() {
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://api.themoviedb.org/3/discover")
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    String sortKey = "popularity.desc";
    TMovieDBService service = retrofit.create(TMovieDBService.class);

    Call<MovieResponse> call = service.getMovieResponse(sortKey, ApiKey.API_KEY);

    call.enqueue(new Callback<MovieResponse>() {
        @Override
        public void onResponse(Response<MovieResponse> response) {
            Log.d(LOG_TAG, "Reached this place");
            if (!response.isSuccess()) {
                Log.d(LOG_TAG, "No Success");
            }
            mMovieList = response.body().getMovies();  //<- response is null here
            //Log.d(LOG_TAG, "Couldn't not reach this place");
            mMovieAdapter.notifyDataSetChanged();
            Log.d(LOG_TAG, "Response returned by website is : " + response.code());
        }

        @Override
        public void onFailure(Throwable t) {
            //Toast for the moment
            //Appropriate error handling code should be present here
            Toast.makeText(getActivity(), "Failed !", Toast.LENGTH_LONG).show();
        }
    });
}

Je ne sais pas quoi mettre en œuvre dans la fonction de mise en file d'. Très peu est donné sur la rénovation du site web sur la façon d'utiliser la fonction de rappel. Supposons que tous les autres le code fonctionne bien. Ici MovieResponse objet retourné par la movieDB API qui contient un tableau de Movies et quelques informations supplémentaires. Je suis la mise en œuvre d'une façon telle sorte qu'une fois que j'aurai la réponse dans MovieResponse à partir de là, je peux extraire à l'aide de la getMovies() qui sera de retour une liste de films.

Quand je le lance j'ai simplement obtenir null object reference parce que response est null. J'ai essayé de chercher des tutoriels sur l'utilisation de nouveaux Retrofit-2.0.0 en particulier sur l'utilisation de la fonction de mise en file d', mais je suis hors de la chance. Plus une question de savoir où doit updateMovies() être appelé. Puis-je l'appeler directement dans le mainactivity. Ne de rénovation de lancer automatiquement l'appel du réseau sur le thread d'arrière-plan ?

source d'informationauteur AbKDs