ver veo ven que puedo por muestra las internet imagenes fotos electronico donde correo celular android fresco

android - veo - Imágenes que no se cargan en Fresco



no puedo ver imagenes en mi correo hotmail (6)

Estoy intentando cargar imágenes en Fresco, pero las imágenes no parecen cargarse. Cuando agrego una vista de marcador de posición, el marcador de posición se muestra.

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); }

Tenga en cuenta que estoy inicializando Fresco en la aplicación y sí tengo uso de Internet en el Manifiesto.

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" />

Método llamando a 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++; } }

Inicializando

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); } }

Registro de muestra

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

Manifiesto

<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" >


No conozco la lógica pero Fresco prefiere obtener el Uri de un archivo. Primero convierta su uri en un archivo y luego obtenga Uri de ese archivo. Funciona para mí en el almacenamiento local.

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.fromFile(new File(uri))); }


Prueba esto

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);


Sé que esta es una pregunta antigua, pero para aquellos que ingresan aquí: android:layout_width="wrap_content" y android:layout_height="wrap_content" no son compatibles con Fresco. Esta pregunta ya ha sido respondida completamente here .


Si tiene problemas con CARGAR IMÁGENES GRANDES , simplemente habilite Reducir el muestreo al configurar la canalización de la imagen.

Escribe tu inicialización de Fresco como esta

ImagePipelineConfig config = ImagePipelineConfig.newBuilder(this) .setDownsampleEnabled(true) ... .build(); Fresco.initialize(this, config);


Un problema similar se reporta en el repositorio de frescos en GitHub HERE (en los comentarios debajo del problema principal informado)

Según los comentarios sobre el tema por el desarrollador que lo informó:

Parece ser algo aleatorio: está bien para la mayoría de las imágenes. Cuando se borra la memoria caché para la prueba, las pocas imágenes que "no están cargadas" no son las mismas entre ejecuciones. Tengo la respuesta "200" de apache para la imagen que se cargó correctamente y se muestra (registro de apache). Y ningún registro en absoluto para las imágenes al azar al estrellarse.

Sugeriría probar las siguientes sugerencias de otros desarrolladores para el problema:

  1. (From the issue report page) Borre la memoria caché e intente nuevamente.
  2. (From the issue report page) Use un proxy / monitor HTTP para averiguar qué respuesta recibe del servidor. Si obtiene un 204 Sin contenido, es posible que el servidor no acepte el encabezado del agente de usuario.
  3. (My suggestion) Intente cargar una imagen utilizando una URL completamente diferente y vea si sucede con cada imagen o solo con esta. Si es solo este problema podría estar con la imagen.

Otro informe sobre el mismo tema HERE , pero este aún no tiene respuestas concretas con soluciones.

También es posible que desee suscribirse a las notificaciones en estas publicaciones en caso de que alguien publique una buena solución pronto y se fusione. A continuación, puede obtener la última versión y relajarse. :) (En caso de que alguno de los anteriores no funcione para usted).