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": []
}
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());
}
you can doing this work in background with coroutines :
private fun loadImageFromWebUrl(url: String?) {
lifecycleScope.launch(Dispatchers.IO) {
val image = try {
val iStream = java.net.URL(url).content as InputStream
Drawable.createFromStream(iStream, "src name")
} catch (e: Exception) {
null
}
image?.let {
withContext(Dispatchers.Main){
imageView.setImageDrawable = image
}
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With