Hello, I have a task in that I received data from api, put it on the list (auto repair shops), I made a list, but I don’t understand how to upload photos of these workshops, I know that this is done using picasso, but I didn’t work with it and now I'm trying to understand how to do it, I will be very grateful for the help. Api: http://gdetut.com/api/firms?salt=63926e380bdc96ef990d57898daeb71c&category_id=1 Viewer: http://jsonviewer.stack.hu/
ps I don’t have time to redo the int image to make a String csv_image.
Retrofit class:
public class Retrofit { private static final String ENDPOINT = "http://gdetut.com/api"; private static ApiInterface apiInterface; interface ApiInterface { @GET("/firms?salt=63926e380bdc96ef990d57898daeb71c&category_id=1") void getPlaces(Callback<List<Places>> callback); } static { init(); } private static void init() { RestAdapter restAdapter = new RestAdapter.Builder() .setEndpoint(ENDPOINT) .setLogLevel(RestAdapter.LogLevel.FULL) .build(); apiInterface = restAdapter.create(ApiInterface.class); } public static void getPlaces (Callback<List<Places>> callback) { apiInterface.getPlaces(callback); } } Retrofit success in Activity:
Retrofit.getPlaces(new Callback<List<Places>>() { @Override public void success(List<Places> places, Response response) { listView.setAdapter(new MyAdapter(MainActivity.this, places)); Adapter:
class MyAdapter extends ArrayAdapter<Places> { public MyAdapter(Context context, List<Places> objects) { super(context, R.layout.list_item, objects); } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; View rowView = convertView; if (rowView == null) { LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); rowView = inflater.inflate(R.layout.list_item, parent, false); holder = new ViewHolder(); holder.nameOfPlace = (TextView) rowView.findViewById(R.id.name_id); holder.subcategory_name = (TextView) rowView.findViewById(R.id.subcategory_name_id); holder.geometryName = (TextView) rowView.findViewById(R.id.geometry_name_id); holder.imageView = (ImageView) rowView.findViewById(R.id.image_id); holder.rating = (TextView) rowView.findViewById(R.id.rating_id); rowView.setTag(holder); } else { holder = (ViewHolder) rowView.getTag(); } Places places = getItem(position); holder.nameOfPlace.setText(places.getName()); holder.subcategory_name.setText(places.getSubcategory_name()); holder.geometryName.setText(places.getGeometry_name()); holder.imageView.setImageResource(places.getImage()); holder.imageView.setImageResource(R.drawable.restaurant48); holder.rating.setText(places.getRating()); return rowView; } class ViewHolder { public TextView nameOfPlace; public TextView subcategory_name; public TextView geometryName; public TextView rating; public ImageView imageView; } } Places class:
public class Places implements Serializable { String name; String geometry_name; String rating; String subcategory_name; int image; public Places(String name, String geometry_name, String rating,String, subcategory_name, int image) { this.name = name; this.geometry_name = geometry_name; this.rating = rating; this.subcategory_name = subcategory_name; this.image = image; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGeometry_name() { return geometry_name; } public void setGeometry_name(String geometry_name) { this.geometry_name = geometry_name; } public String getRating() { return rating; } public void setRating(String rating) { this.rating = rating; } public String getSubcategory_name() { return subcategory_name; } public void setSubcategory_name(String subcategory_name) { this.subcategory_name = subcategory_name; } public int getImage() { return image; } public void setImage(int image) { this.image = image; }