Я использую GitHub API для отображения в своем приложении самого популярного репозитория, их имен, аватара и описания в recyclerView, но когда я запускаю приложение, все работает, но avatar_url и login возвращают Null.
это JSON от Github API
https://api.github.com/search/repositories?q=created:%3E2019-10-01&sort=stars&order=desc
Я пробовал это: класс клиента:
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class Client {
public static final String BASE_URL="https://api.github.com";
public static Retrofit retrofit=null;
public static Retrofit getClient()
{
if(retrofit==null)
{
retrofit=new Retrofit.Builder().baseUrl(BASE_URL).addConverterFactory(GsonConverterFactory.create()).build();
}
return retrofit;
}
}
Класс обслуживания:
package com.example.gethubapi.api;
import com.example.gethubapi.model.ItemResponse;
import retrofit2.Call;
import retrofit2.http.GET;
public interface Service {
@GET("/search/repositories?q=created:>2017-10-22&sort=stars&order=desc&page=2")
Call<ItemResponse> getItems();
}
Класс изделия В этом проблема, если вы проверили файл jSON по ссылке выше, вы будетенайти дочерний объект из элемента, называемого владельцем, и я не могу выбрать имя avatar_url и имя владельца напрямую
import com.google.gson.annotations.SerializedName;
public class Item {
@SerializedName("avatar_url")
@Expose
private String avatarUrl;
@SerializedName("name")
@Expose
private String name;
@SerializedName("description")
@Expose
private String description;
@SerializedName("login")
@Expose
private String owner;
@SerializedName("stargazers_count")
@Expose
private int stargazers;
public Item(String avatar_url,String name,String description,String owner,int stargazers )
{
this.avatarUrl=avatar_url;
this.name=name;
this.description=description;
this.owner=owner;
this.stargazers=stargazers;
}
public String getAvatarUrl()
{
return avatarUrl;
}
public String getName()
{
return name;
}
public String getDescription()
{
return description;
}
public String getOwner()
{
return owner;
}
public int getStargazers()
{
return stargazers;
}
}