Un Retrofit sur android?
Je suis nouveau pour le Retrofit. Comment puis-je envoyer param et obtenir Json de bellow url ?
http://xxx:8087/courier.svc/login?username=jim&password=123456
j'ai besoin d'un lien pour le tutoriel .
  ce code est dans mon  MainActivity :  
private void loadJSON(String username, String password) {
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://192.168.8.11:8087/sample.svc/")
            .addConverterFactory(GsonConverterFactory.create())
            .build();
    RequestInterface_Login request = retrofit.create(RequestInterface_Login.class);
    Call<JSONResponseLogin> call = request.getJSON(username, password);
    call.enqueue(new Callback<JSONResponseLogin>() {
        @Override
        public void onResponse(Call<JSONResponseLogin> call, Response<JSONResponseLogin> response) {
            JSONResponseLogin jsonResponse = response.body();
            data = new ArrayList<>(Arrays.asList(jsonResponse.getLogin()));
        }
        @Override
        public void onFailure(Call<JSONResponseLogin> call, Throwable t) {
            Log.d("Error", t.getMessage());
        }
    });
}
  Mon  ModelLogin  :  
public class ModelLogin {
    private String username;
    private String password;
    public String getUsername() {
        return username;
    }
    public String getPassword() {
        return password;
    }
}
  Mon  RequestInterface_Login  :  
public interface RequestInterface_Login {
    @GET("/login/{username}/{password}")
    Call<JSONResponseLogin> getJSON(@Path("username") String username, @Path("password") String password);
}
  Mon  JSONResponseLogin  :  
public class JSONResponseLogin {
    private ModelLogin[] login;
    public ModelLogin[] getLogin() {
        return login;
    }
}
  mais Trouvez-moi NullPointerException !  
  je reçois  json  de service, la même ci-dessous :  
{"Key":null,"Response":1}
2 réponses
  avant que vous obtenez appel de la modernisation, vous pouvez juste imprimer L'URL et ensuite vous pouvez charger URL dans le navigateur et voir quelle réponse est à venir, vous pouvez ajouter log by bellow line avant  call.enqueue(new Callback<JSONResponseLogin>()   
Log.e(TAG, "API URL: " + call.request().url());
Vérifiez votre réponse Et laissez-moi savoir et je vais vous aider ... coz je suis à l'aide de rénovation dans mes 3 projets
Faire comme ça ...dans l'interface
 @GET("/courier.svc/login?)
 Call<JSONResponseLogin> getJSON(@Query("username") String username,
                                 @Query("password") String password);
  et le retirer de la base  .baseUrl("http://192.168.8.11:8087")   
j'écris ce post sur 'Retrofit in android' en utilisant notre dernière bibliothèque Retrofit, ce plugin peut être utilisé pour intégrer Retrofit à votre projet. Avant d'utiliser reftrofit, nous avons juste besoin de suivre quelques étapes pour ajouter des Plugins QAssist dans Android studio qui réduiront vos efforts d'intégration de services web.
1.Ajouter (Qassist-Android Studio Plugin) Android plugin dans votre studio Android. ( https://github.com/sakkeerhussain/QAssist ).:-
2.Quand nous en avons fini avec le plugin, nous devons redémarrer notre studio Android.
3.Vérifiez votre studio Android Menubar vous pouvez trouver "QAssist".
4.Cliquez là-dessus et commencez avec Retrofit Integrate.
5.Maintenant nous avons besoin : - BaseUrl des Api Web - Toutes les Api en points. - Exemple de demande et réponse à toutes les demandes. - Après avoir terminé ces étapes, votre paquet reftrofit (qassist / retrofit) est généré à l'intérieur du Projet).
6.Vous pouvez trouver une classe et une Interface à l'intérieur de ce paquet.
7.L'interface contient tous les détails des paramètres et la classe contiendra les détails du raccord Retrofit.
8.Nous avons juste besoin d'ajouter un petit code pour accéder et Api et analyser la réponse de L'Api au modèle de données. 9.Utilisez cette fonction d'exemple pour appeler L'Api.
private void demoRetroFitCall() {
        APIService apiService = RetrofitManager.getInstance(this);
        //APIService apiService = RetroFitApiClient.getClient().create(APIService.class);
        Call<ModelData> call = apiService.TestGet();
        call.enqueue(new Callback<ModelData>() {
            @Override
            public void onResponse(Call<ModelData> call, Response<ModelData> response) {
                Log.d("TAG", "Data recived in response.body");            
                }
            @Override
            public void onFailure(Call<ModelData> call, Throwable t) {
                Log.e("TAG", t.toString());            
                }
        });
    }
56 - voda
