2016-06-05 2 views
1

Я новичок в модернизации. Я закончил все настройки. добавить этот Gradle в build.gradle файлеЗапрос объекта Json с использованием Retrofit2

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

Мой интерфейс выглядит так:

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; 
     } 

    } 
} 

Моя процедура Calling, как это:

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()); 
       } 
      }); 

Здесь jsonObject, как это:

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

Здесь, кажется, все в порядке, но я не получил правильного ответа. Я нашел решение. это here. Кто-нибудь есть правильное решение, как Volley JsonObjectRequest

+0

Я не понимаю, о чем вы просите. – nasch

ответ

1

Может быть, вы импортируете

import org.json.JSONObject; 

вы должны использовать

import com.google.gson.JsonObject; 

Тогда вы получите его значение.

+1

Да, это точная точка. Это решает мою проблему. –

Смежные вопросы