Harshal Deshmukh Harshal Deshmukh - 2 months ago 26
Android Question

How to Convert Image url into Drawable Int

Good Morning All !!!!

I am trying to display images in Imageview. But My requirement is ,i need to display images in Drawable Integer Format.I am getting data from Server and getting image in url format..

For ex :http://www.mymartmycart.com/images/detailed/3/4G_CONNECT_M1.jpeg


I want to convert this image in Drawable Format.

This is My code

This is my Interface

public interface ECCardData<T> {

@DrawableRes
Integer getMainBackgroundResource();

@DrawableRes
Integer getHeadBackgroundResource();

List<T> getListItems();
}


My Getter and Setter

private Integer headBackgroundResource;

public Integer getHeadBackgroundResource() {
return headBackgroundResource;
}

public void setHeadBackgroundResource(Integer headBackgroundResource) {
this.headBackgroundResource = headBackgroundResource;
}


This code where i set images

Integer drawableRes = dataset.get(position).getHeadBackgroundResource();
if (drawableRes != null) {
headView.setHeadImageBitmap(BitmapFactory.decodeResource(pagerContainer.getResources(), drawableRes, new BitmapFactoryOptions()));
}


This is my parsing

public static ArrayList<CardData> ParseCraft(String response) throws JSONException {


ArrayList<CardData> alUser = new ArrayList<>();

JSONObject jsonRoot = new JSONObject(response);

JSONArray parentArray = jsonRoot.getJSONArray("products");

for (int j = 0; j < parentArray.length(); j++) {

JSONObject finalObject = parentArray.getJSONObject(j);

CardData user = new CardData();

user.setHeadTitle(finalObject.getString("product"));
user.setPersonName(finalObject.getString("product_code"));

JSONObject productJsonObject = finalObject.getJSONObject("main_pair");
JSONObject productJsonObject1 = productJsonObject.getJSONObject("detailed");

user.setHeadBackgroundResource(productJsonObject1.getString("image_path"));



alUser.add(user);
}

return alUser;
}


My json response

{
"products": [
{
"product_id": "863",
"product": "LAVA 4G CONNECT M1",
"company_name": "SAPTHAGIRI MOBILES",
"age_verification": "N",
"age_limit": "0",
"product_code": "SGMM00044",
"product_type": "P",
"status": "A",
"company_id": "34",
"approved": "Y",
"list_price": "0.00",
"amount": "2",
"weight": "0.000",
"length": "0",
"width": "0",
"height": "0",
"shipping_freight": "0.00",
"low_avail_limit": "0",
"timestamp": "1492758588",
"updated_timestamp": "1500273558",
"usergroup_ids": "0",
"is_edp": "N",
"edp_shipping": "N",
"unlimited_download": "N",
"tracking": "B",
"free_shipping": "N",
"zero_price_action": "R",
"is_pbp": "N",
"is_op": "N",
"is_oper": "N",
"is_returnable": "Y",
"return_period": "10",
"avail_since": "0",
"out_of_stock_actions": "N",
"localization": "",
"min_qty": "0",
"max_qty": "0",
"qty_step": "0",
"list_qty_count": "0",
"tax_ids": "",
"options_type": "P",
"exceptions_type": "F",
"details_layout": "default",
"shipping_params": "a:5:{s:16:\"min_items_in_box\";i:0;s:16:\"max_items_in_box\";i:0;s:10:\"box_length\";i:0;s:9:\"box_width\";i:0;s:10:\"box_height\";i:0;}",
"facebook_obj_type": "activity",
"buy_now_url": "",
"cod": "N",
"price": "3094.000000",
"category_ids": [
295
],
"position": "0",
"seo_name": "lava-4g-connect-m1",
"seo_path": "166/234/295",
"average_rating": null,
"discussion_type": "D",
"discussion_thread_id": "619",
"main_category": 295,
"main_pair": {
"pair_id": "2577",
"image_id": "0",
"detailed_id": "3266",
"position": "0",
"detailed": {
"object_id": "863",
"object_type": "product",
"image_path": "http://www.mymartmycart.com/images/detailed/3/4G_CONNECT_M1.jpeg",
"alt": "",
"image_x": "635",
"image_y": "476",
"http_image_path": "http://www.mymartmycart.com/images/detailed/3/4G_CONNECT_M1.jpeg",
"https_image_path": "https://www.mymartmycart.com/images/detailed/3/4G_CONNECT_M1.jpeg",
"absolute_path": "/home/mymartmycart/public_html/images/detailed/3/4G_CONNECT_M1.jpeg",
"relative_path": "detailed/3/4G_CONNECT_M1.jpeg"
}
},
"base_price": "3094.000000",
"selected_options": [],
"has_options": false,
"product_options": [],
"discounts": {
"A": 0,
"P": 0
},
"product_features": [],
"qty_content": []
}

Answer Source

This code is working for me to convert Server image url into Bitmap

 String drawableRes="http://kartpay.biz/api/v1/file/banner/IHMOcSHU7yoTVOkwYi1bOOz8shrXXrJhayCPFO17.jpeg"
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
        try {
            URL url = new URL(drawableRes);
            headView.setHeadImageBitmap(BitmapFactory.decodeStream((InputStream)url.getContent()));
        } catch (IOException e) {
            //Log.e(TAG, e.getMessage());
        }