2016-06-05 3 views
1

Je suis nouveau en rénovation. J'ai terminé toute l'installation. ajouter cette gradle dans le fichier build.gradleDemande d'objet Json en utilisant Retrofit2

compile 'com.squareup.retrofit2:retrofit:2.0.2' 
    compile 'com.squareup.retrofit2:converter-gson:2.0.2' 

Mon interface est comme ceci:

public interface ILoginInterface { 
    String BASE_URL= "MY_BASE_URL/"; 

    @POST("MY/API") 
    Call<LoginResponseEntity> startLogin(@Body JSONObject jsonObject); 

    class Factory{ 
     private static ILoginInterface instance; 

     public static ILoginInterface getInstance(){ 
      if(instance==null){ 
       Retrofit retrofit = new Retrofit.Builder() 
         .baseUrl(BASE_URL) 
         .addConverterFactory(GsonConverterFactory.create()) 
         .build(); 

       instance = retrofit.create(ILoginInterface.class); 
      } 

      return instance; 
     } 

    } 
} 

Ma procédure d'appel est comme ceci:

ILoginInterface.Factory.getInstance().startLogin(jsonObject).enqueue(new Callback<LoginResponseEntity>() { 
       @Override 
       public void onResponse(Call<LoginResponseEntity> call, retrofit2.Response<LoginResponseEntity> response) { 
        Log.d("MS",response.body().fullName); 
       } 

       @Override 
       public void onFailure(Call<LoginResponseEntity> call, Throwable t) { 
        Log.d("MS",t.getMessage()); 
       } 
      }); 

Voici jsonObject est comme ceci:

{"user_name":"sajedul Karim", "password":"123456"} 

Ici, il semble que tout va bien, mais je n'ai pas obtenu de réponse appropriée. J'ai trouvé une solution. c'est here. Quelqu'un at-il une solution appropriée comme Volley JsonObjectRequest

+0

Je ne comprends pas ce que vous demandez. – nasch

Répondre

1

Peut être que vous importez

import org.json.JSONObject; 

vous devez utiliser

import com.google.gson.JsonObject; 

vous obtiendrez sa valeur.

+1

Oui, c'est le point exact. C'est résoudre mon problème. –