Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Images not loading in Fresco

Tags:

I'm trying to load images in Fresco, but the images don't seem to load. When I add a placeholder view the placeholder shows.

public static void loadImg(final Context c, final SimpleDraweeView view, final String img){     Uri uri = Uri.parse("https://placekitten.com/g/201/300");     view.setImageURI(uri); } 

Note, I am initializing Fresco in the Application, and I do have internet usage in the Manifest.

SimpleDraweeView

        <com.facebook.drawee.view.SimpleDraweeView         android:id="@+id/small_box_image"         android:layout_width="match_parent"         android:layout_height="150dp"         fresco:placeholderImage="@drawable/google"         fresco:fadeDuration="300"         fresco:viewAspectRatio="1.33"         /> 

Method calling loadImg

public static View generateTileView(Context c, Tile t){      LayoutInflater inflater = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);     View view;     boolean desc = false;      switch(t.getObjectTypeName()){         case Tile.OBJECT_NAME:             view = inflater.inflate(R.layout.view_tile_small_object, null);             break;         case Tile.LOOK_CLOSER_NAME:             view = inflater.inflate(R.layout.view_tile_small_look_closer, null);             desc = true;             break;         case Tile.STORY_NAME:             view = inflater.inflate(R.layout.view_tile_small_story, null);             desc = true;             break;         case Tile.TOUR_NAME:             view = inflater.inflate(R.layout.view_tile_small_tour, null);             desc = true;             break;         default:             view = inflater.inflate(R.layout.view_tile_small_object, null);             break;     }      TextView type = (TextView) view.findViewById(R.id.small_box_type);     TextView title = (TextView) view.findViewById(R.id.small_box_title);     SimpleDraweeView img = (SimpleDraweeView) view.findViewById(R.id.small_box_image);      if(desc) {         TextView descText = (TextView) view.findViewById(R.id.small_box_desc);         if ( t.getDescription() != null) {             descText.setText(t.getDescription());             descText.setTypeface(TypefaceUtil.get(c, TypefaceUtil.ENZO_M));         }else{             descText.setVisibility(View.GONE);         }     }      title.setText(t.getTitle());     title.setTypeface(TypefaceUtil.get(c, TypefaceUtil.SOFIA_BOLD));     type.setText(t.getObjectTypeName());     type.setTypeface(TypefaceUtil.get(c, TypefaceUtil.SOFIA_BOLD));     ViewUtils.loadImg(c, img, t.getImg());      return view; }    public static void injectTileViews(Context c, final OnFragmentChangeListener listener,                         List<Tile> tiles, LinearLayout leftSide, LinearLayout rightSide){      int index = 0;      for(final Tile t : tiles){         //Gets the views and the ImageView for the star         View v = ViewUtils.generateTileView(c,t);         if(!t.getObjectTypeName().equals(Tile.LOOK_CLOSER_NAME)) {             final ImageView star = (ImageView) v.findViewById(R.id.tile_star);              //Sets the favorite on click listener             star.setOnClickListener(new View.OnClickListener() {                 @Override                 public void onClick(View v) {                     String type = "";                     switch(t.getObjectTypeName()){                         case Tile.OBJECT_NAME:                             type = OnFragmentChangeListener.OBJECT;                             break;                         case Tile.STORY_NAME:                             type = OnFragmentChangeListener.STORY;                             break;                         case Tile.TOUR_NAME:                             type = OnFragmentChangeListener.TOUR;                             break;                     }                     t.setFavorite(!t.getFavorite());                     listener.onFavorite(type, t.getObjectID(), t.getFavorite());                     star.setImageResource((t.getFavorite()) ? R.drawable.ic_grade : R.drawable.favorite_star);                 }             });              //sets the stat image based on whether it's favorite or no             star.setImageResource((t.getFavorite()) ? R.drawable.ic_grade : R.drawable.favorite_star);         }         //sets the entire tile click listener         v.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 switch (t.getObjectTypeName()) {                     case Tile.OBJECT_NAME:                         listener.onFragmentChange(MainActivity.OBJECT, t.getObjectID());                         break;                     case Tile.TOUR_NAME:                         listener.onFragmentChange(MainActivity.TOUR, t.getTourID());                         break;                     case Tile.STORY_NAME:                         listener.onFragmentChange(MainActivity.STORY, t.getStoryID());                         break;                     case Tile.LOOK_CLOSER_NAME:                         listener.onFragmentChange(MainActivity.LOOK_CLOSER, t.getObjectID());                         break;                 }             }         });          //invalidates the measurement         leftSide.invalidate();         rightSide.invalidate();         //sets the measure spec         final int widthMeasureSpec =                 View.MeasureSpec.makeMeasureSpec(ViewGroup.LayoutParams.MATCH_PARENT,View.MeasureSpec.UNSPECIFIED);         final int heightMeasureSpec =                 View.MeasureSpec.makeMeasureSpec(ViewGroup.LayoutParams.WRAP_CONTENT, View.MeasureSpec.UNSPECIFIED);         //re-measures         leftSide.measure(widthMeasureSpec, heightMeasureSpec);         rightSide.measure(widthMeasureSpec, heightMeasureSpec);         int l = leftSide.getMeasuredHeight();         int r = rightSide.getMeasuredHeight();          //determines which side to add the view to         if(l <= r){             leftSide.addView(v);         }else{             rightSide.addView(v);         }          //sets the bottom margin since it needs to be part of the parent before we         //can get the layout params         LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) v.getLayoutParams();         params.setMargins(0, 0, 0, (int) c.getResources().getDimension(R.dimen.margin_normal));         v.setLayoutParams(params);         v.requestLayout();          //adds the index         index++;     } } 

Initializing

public class MyApplication extends Application {  public static DisplayMetrics metrics; private Typeface exoBlack; private Tracker mTracker;  @Override public void onCreate() {     super.onCreate();      LeakCanary.install(this);     WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);     metrics = new DisplayMetrics();     wm.getDefaultDisplay().getMetrics(metrics);     Fresco.initialize(this); } } 

Sample Log

12-22 15:52:47.424 32462 32462 V unknown:AbstractDraweeController: controller 77d4657 null -> 0: initialize 12-22 15:52:47.425 32462 32462 V unknown:AbstractDraweeController: controller 77d4657 0: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@a0fa544 12-22 15:52:47.435 32462 32462 V unknown:AbstractDraweeController: controller 3a5f0f3 null -> 1: initialize 12-22 15:52:47.435 32462 32462 V unknown:AbstractDraweeController: controller 3a5f0f3 1: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@c03d1b0 12-22 15:52:47.442 32462 32462 V unknown:AbstractDraweeController: controller ef0f7ae null -> 2: initialize 12-22 15:52:47.442 32462 32462 V unknown:AbstractDraweeController: controller ef0f7ae 2: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@6a4a94f 12-22 15:52:47.448 32462 32462 V unknown:AbstractDraweeController: controller 1cc58dc null -> 3: initialize 12-22 15:52:47.449 32462 32462 V unknown:AbstractDraweeController: controller 1cc58dc 3: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@d3d0de5 12-22 15:52:47.455 32462 32462 V unknown:AbstractDraweeController: controller 158e0ba null -> 4: initialize 12-22 15:52:47.455 32462 32462 V unknown:AbstractDraweeController: controller 158e0ba 4: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@12c8b6b 12-22 15:52:47.459 32462 32462 V unknown:AbstractDraweeController: controller 3a5f0f3 1: onAttach: request needs submit 12-22 15:52:47.463 32462 32462 V unknown:AbstractDraweeController: controller 3a5f0f3 1: submitRequest: dataSource: ab5a361 12-22 15:52:47.464 32462 32462 V unknown:AbstractDraweeController: controller 1cc58dc 3: onAttach: request needs submit 12-22 15:52:47.465 32462 32462 V unknown:AbstractDraweeController: controller 1cc58dc 3: submitRequest: dataSource: 5244e86 12-22 15:52:47.465 32462 32462 V unknown:AbstractDraweeController: controller 77d4657 0: onAttach: request needs submit 12-22 15:52:47.466 32462 32462 V unknown:AbstractDraweeController: controller 77d4657 0: submitRequest: dataSource: 2067347 12-22 15:52:47.466 32462 32462 V unknown:AbstractDraweeController: controller ef0f7ae 2: onAttach: request needs submit 12-22 15:52:47.467 32462 32462 V unknown:AbstractDraweeController: controller ef0f7ae 2: submitRequest: dataSource: 3c8e774 12-22 15:52:47.467 32462 32462 V unknown:AbstractDraweeController: controller 158e0ba 4: onAttach: request needs submit 12-22 15:52:47.468 32462 32462 V unknown:AbstractDraweeController: controller 158e0ba 4: submitRequest: dataSource: ac8149d 12-22 15:52:47.481 32462 32528 V unknown:BufferedDiskCache: Did not find image for https://placekitten.com/g/201/300 in staging area 12-22 15:52:47.481 32462 32528 V unknown:BufferedDiskCache: Disk cache read for https://placekitten.com/g/201/300 12-22 15:52:47.483 32462 32528 V unknown:BufferedDiskCache: Disk cache miss for https://placekitten.com/g/201/300 12-22 15:52:58.837   491   491 V unknown:AbstractDraweeController: controller 77d4657 null -> 0: initialize 12-22 15:52:58.837   491   491 V unknown:AbstractDraweeController: controller 77d4657 0: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@a0fa544 12-22 15:52:58.847   491   491 V unknown:AbstractDraweeController: controller 3a5f0f3 null -> 1: initialize 12-22 15:52:58.848   491   491 V unknown:AbstractDraweeController: controller 3a5f0f3 1: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@c03d1b0 12-22 15:52:58.856   491   491 V unknown:AbstractDraweeController: controller ef0f7ae null -> 2: initialize 12-22 15:52:58.856   491   491 V unknown:AbstractDraweeController: controller ef0f7ae 2: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@6a4a94f 12-22 15:52:58.862   491   491 V unknown:AbstractDraweeController: controller 1cc58dc null -> 3: initialize 12-22 15:52:58.863   491   491 V unknown:AbstractDraweeController: controller 1cc58dc 3: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@d3d0de5 12-22 15:52:58.869   491   491 V unknown:AbstractDraweeController: controller 158e0ba null -> 4: initialize 12-22 15:52:58.869   491   491 V unknown:AbstractDraweeController: controller 158e0ba 4: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@12c8b6b 12-22 15:52:58.872   491   491 V unknown:AbstractDraweeController: controller 3a5f0f3 1: onAttach: request needs submit 12-22 15:52:58.878   491   491 V unknown:AbstractDraweeController: controller 3a5f0f3 1: submitRequest: dataSource: ab5a361 12-22 15:52:58.878   491   491 V unknown:AbstractDraweeController: controller 1cc58dc 3: onAttach: request needs submit 12-22 15:52:58.879   491   491 V unknown:AbstractDraweeController: controller 1cc58dc 3: submitRequest: dataSource: 5244e86 12-22 15:52:58.879   491   491 V unknown:AbstractDraweeController: controller 77d4657 0: onAttach: request needs submit 12-22 15:52:58.880   491   491 V unknown:AbstractDraweeController: controller 77d4657 0: submitRequest: dataSource: 2067347 12-22 15:52:58.880   491   491 V unknown:AbstractDraweeController: controller ef0f7ae 2: onAttach: request needs submit 12-22 15:52:58.881   491   491 V unknown:AbstractDraweeController: controller ef0f7ae 2: submitRequest: dataSource: 3c8e774 12-22 15:52:58.881   491   491 V unknown:AbstractDraweeController: controller 158e0ba 4: onAttach: request needs submit 12-22 15:52:58.882   491   491 V unknown:AbstractDraweeController: controller 158e0ba 4: submitRequest: dataSource: ac8149d 12-22 15:52:58.898   491   535 V unknown:BufferedDiskCache: Did not find image for https://placekitten.com/g/201/300 in staging area 12-22 15:52:58.899   491   535 V unknown:BufferedDiskCache: Disk cache read for https://placekitten.com/g/201/300 12-22 15:52:58.904   491   535 V unknown:BufferedDiskCache: Disk cache miss for https://placekitten.com/g/201/300 

Manifest

    <application     android:name=".utils.MyApplication"     android:allowBackup="true"     android:icon="@mipmap/ic_launcher"     android:label="@string/app_name"     android:logo="@drawable/home"     android:screenOrientation="portrait"     android:theme="@style/AppTheme" > 
like image 637
Peter Chappy Avatar asked Dec 22 '15 18:12

Peter Chappy


People also ask

Can you import images into Adobe fresco?

How to import and export PSD files. Based on your requirement, you can also import PSD files into Adobe Fresco: Tap on the Home icon. On the Home screen, tap on Import and open, and then select Photoshop file (.

Why TCS fresco play is not opening?

One possibility is a permission issue, such as trying to access the SD card without requiring the necessary permission in your application manifest. Another possibility is that the pathy is not correct - perhaps you forgot to properly escape it. Finally, the file may simply not exist.


Video Answer


1 Answers

Try this

SimpleDraweeView imageView= (SimpleDraweeView) v.findViewById(R.id.full_ad_unit);  Uri imageUri = Uri.parse(imagePath);  ImageRequest request = ImageRequest.fromUri(imageUri);  DraweeController controller = Fresco.newDraweeControllerBuilder()     .setImageRequest(request)     .setOldController(imageView.getController()).build();  Log.e(TAG, "ImagePath uri " + imageUri);  imageView.setController(controller); 
like image 84
Noveen Avatar answered Nov 16 '22 21:11

Noveen