Не получается распарсить данные с json

public class MainActivity extends AppCompatActivity {

List<Product> products;
RecyclerView recyclerView;
RecyclerAdapter recyclerAdapter;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    products = new ArrayList<>();
    recyclerView = (RecyclerView)findViewById(R.id.productList);
    LinearLayoutManager layoutManager = new LinearLayoutManager(this);
    recyclerView.setLayoutManager(layoutManager);
    recyclerAdapter = new RecyclerAdapter(getApplicationContext(),products);
    recyclerView.setAdapter(recyclerAdapter);


    ApiInterface apiService = ApiClient.getClient().create(ApiInterface.class);
    Call<List<Product>> call = apiService.getProducts();

    call.enqueue(new Callback<List<Product>>() {
        @Override
        public void onResponse(Call<List<Product>> call, Response<List<Product>> response) {
            products = response.body();
            Log.d("TAG","Response = "+products);
            recyclerAdapter.setProductList(products);
        }

        @Override
        public void onFailure(Call<List<Product>> call, Throwable t) {
            Log.d("TAG","Response = "+t.toString());
        }
    });


}

}

public class ApiClient {

public static String BASE_URL = "https://peretz-group.ru/api/v2/products?category=93&key=47be9031474183ea92958d5e255d888e47bdad44afd5d7b7201d0eb572be5278";
private static Retrofit retrofit;

public static Retrofit getClient() {
    if (retrofit == null) {
        retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
    }
    return retrofit;
}

}

public interface ApiInterface {
@GET("volley_array.json")
Call<List<Product>> getProducts();

}

public class Product {
@SerializedName("name")
private String title;

@SerializedName("description")
private String description;

@SerializedName("price")
private String price;

@SerializedName("image_app")
private String imageURL;


public Product() {
}

public Product(String title, String description, String price, String imageURL) {
    this.title = title;
    this.description = description;
    this.price = price;
    this.imageURL = imageURL;
}

public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}

public String getDescription() {
    return description;
}

public void setDescription(String description) {
    this.description = description;
}

public String getPrice() {
    return price;
}

public void setPrice(String price) {
    this.price = price;
}

public String getImageURL() {
    return imageURL;
}

public void setImageURL(String imageURL) {
    this.imageURL = imageURL;
}

}

public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder> {
Context context;
List<Product> products;

public RecyclerAdapter(Context context, List<Product> products) {
    this.context = context;
    this.products = products;
}

public void setProductList(List<Product> products) {
    this.products = products;
    notifyDataSetChanged();
}

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.product_list_layout, parent, false);
    return new ViewHolder(view);
}

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
    holder.productTitle.setText(products.get(position).getTitle().toString());
    holder.productDescription.setText(products.get(position).getDescription().toString());
    holder.productPrice.setText(products.get(position).getPrice().toString());
    Glide.with(context).load(products.get(position).getImageURL()).apply(RequestOptions.centerCropTransform()).into(holder.productImage);



}

@Override
public int getItemCount() {
    if (products != null) {
        return products.size();
    }
    return 0;
}

public class ViewHolder extends RecyclerView.ViewHolder {
    TextView productTitle;
    TextView productDescription;
    TextView productPrice;
    ImageView productImage;

    public ViewHolder(@NonNull View itemView) {
        super(itemView);
        productTitle = itemView.findViewById(R.id.productTitle);
        productDescription = itemView.findViewById(R.id.productDescription);
        productPrice = itemView.findViewById(R.id.productPrice);
        productImage = itemView.findViewById(R.id.productImage);

    }
}

}


Ответы (0 шт):