У меня проблемы с получением ответа при модернизации.
Мой ответ не удался, и я не знаю почему.
Я опубликую здесь мой массив JSON, моя основная деятельность называется Education_Classes
,
и я тоже опубликую свои уроки.
{
"classes": [
{
"class_id": "1",
"class_name": "class1",
"class_description": "des1"
},
{
"class_id": "2",
"class_name": "class2",
"class_description": "des2"
},
{
"class_id": "3",
"class_name": "class3",
"class_description": "des3"
}
],
"status": "1"
}
Главный класс :
public class Education_Classes extends AppCompatActivity {
private List < Classes > classesList = new ArrayList <>();
private RecyclerView recyclerView;
private ClassesAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_education__classes );
recyclerView = (RecyclerView) findViewById( R.id.recyclerClasses );
Retrofit.Builder builder = new Retrofit.Builder().baseUrl( "http://bimehsan.ir/api-v1/" ).addConverterFactory( GsonConverterFactory.create() );
Retrofit retrofit = builder.build();
final WebService webService = retrofit.create( WebService.class );
SharedPreferences shareToken = getSharedPreferences( "userdetails", MODE_PRIVATE );
String getToken = shareToken.getString( "token", "no name" );
String tokeyWhittokenType = "Bearer" + " " + getToken;
Call < ClassesResponse > call = webService.getClasses( tokeyWhittokenType );
call.enqueue( new Callback < ClassesResponse >() {
@Override
public void onResponse(Call < ClassesResponse > call, Response < ClassesResponse > response) {
if ( response.isSuccessful() ) {
Toast.makeText( Education_Classes.this, "Sucsess", Toast.LENGTH_SHORT ).show();
classesList = response.body().getClasses();
mAdapter = new ClassesAdapter( classesList );
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager( getApplicationContext() );
recyclerView.setLayoutManager( mLayoutManager );
recyclerView.setItemAnimator( new DefaultItemAnimator() );
recyclerView.setAdapter( mAdapter );
} else {
Toast.makeText( Education_Classes.this, "خطا در گرفتن اطلاعات", Toast.LENGTH_SHORT ).show();
}
}
@Override
public void onFailure(Call < ClassesResponse > call, Throwable t) {
Toast.makeText( Education_Classes.this, "اتصال خود را به اینتریت بررسی نمایید.", Toast.LENGTH_SHORT ).show();
}
} );
}
}
ClassesResponse :
public class ClassesResponse {
private List<Classes> classes;
private String status;
public ClassesResponse(List<Classes> classes, String status) {
this.classes = classes;
this.status = status;
}
public List<Classes> getClasses() {
return classes;
}
public void setClasses(List<Classes> classes) {
this.classes = classes;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
public class Classes {
private String class_id;
private String class_name;
private String class_description;
public Classes(String class_id, String class_name, String class_description) {
this.class_id = class_id;
this.class_name = class_name;
this.class_description = class_description;
}
public String getClass_id() {
return class_id;
}
public void setClass_id(String class_id) {
this.class_id = class_id;
}
public String getClass_name() {
return class_name;
}
public void setClass_name(String class_name) {
this.class_name = class_name;
}
public String getClass_description() {
return class_description;
}
public void setClass_description(String class_description) {
this.class_description = class_description;
}
}
И мой веб-сервис :
public interface WebService {
@POST("login")
@FormUrlEncoded
Call<User> login(@Field("national_code") String national_code, @Field("password") String password);
@GET("all-classes")
Call<ClassesResponse> getClasses(@Header("Authorization") String tokeyWhittokenType);
}
Я ожидаю, что мой response.isSuccessful()
должен быть верным, но это неверно!