Я хочу получить данные по этой ссылке https://api.androidhive.info/contacts/. Используя залп, я могу получить эти данные, но они не работают для списка.таким образом я использую Retrofit, но модернизация не работает для нескольких классов.
Api
public interface Api {
String BASE_URL = "https://api.androidhive.info";
@GET("/contacts")
Call<List<Contacts>> getHeroes();
@GET("phone")
Call<List<Phone>> getphone();
}
Jsonparser class
public class json_pas extends Fragment{
List<Contacts> herolist;
Retrofit retrofit;
TextView textView;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.json_,null);
}
@Override
public void onViewCreated(@NonNull final View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
textView= view.findViewById(R.id.json_tv);
herolist = new ArrayList <>();
retrofit= new Retrofit.Builder().baseUrl(Api.BASE_URL).addConverterFactory(GsonConverterFactory.create()).build();
Api api = retrofit.create(Api.class);
Call<List<Contacts>> call= api.getHeroes();
call.enqueue(new Callback <List <Contacts>>() {
@Override
public void onResponse(Call <List <Contacts>> call, retrofit2.Response <List <Contacts>> response) {
Log.e("pass","1");
herolist = response.body();
}
@Override
public void onFailure(Call <List <Contacts>> call, Throwable t) {
Log.e("error","Retrofit error"+t.getMessage());
}
});
}
}
модель класса
класс Контакт {
@SerializedName("id")
@Expose
private String id;
@SerializedName("name")
@Expose
private String name;
@SerializedName("email")
@Expose
private String email;
@SerializedName("address")
@Expose
private String address;
@SerializedName("gender")
@Expose
private String gender;
@SerializedName("phone")
@Expose
private Phone phone;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Phone getPhone() {
return phone;
}
public void setPhone(Phone phone) {
this.phone = phone;
}
} класс Контакты {
@SerializedName("contacts")
@Expose
private List<Contact> contacts = null;
public List<Contact> getContacts() {
return contacts;
}
public void setContacts(List<Contact> contacts) {
this.contacts = contacts;
}
}
класс Телефон {
@SerializedName("mobile")
@Expose
private String mobile;
@SerializedName("home")
@Expose
private String home;
@SerializedName("office")
@Expose
private String office;
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getHome() {
return home;
}
public void setHome(String home) {
this.home = home;
}
public String getOffice() {
return office;
}
public void setOffice(String office) {
this.office = office;
}
}
пожалуйста, помогите мне