Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo obtener la imagen de url sitio web en imageview en android

Estoy tratando de obtener la imagen en ImageView desde el sitio web de url, pero la imagen no se muestra así, ¿Qué es lo malo en este código? Esta es la url de la imagen .

Es mi actividad principal

ImageView i; private Bitmap bitmap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); i=(ImageView)findViewById(R.id.ImageView1); bitmap=GetBitmapfromUrl("http://test-dashboard1.seeloz.com/system/images/products_images/86/5454544114_1401886223?1401886223"); i.setImageBitmap(bitmap); } public Bitmap GetBitmapfromUrl(String scr) { try { URL url=new URL(scr); HttpURLConnection connection=(HttpURLConnection)url.openConnection(); connection.setDoInput(true); connection.connect(); InputStream input=connection.getInputStream(); Bitmap bmp = BitmapFactory.decodeStream(input); return bmp; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } }} 

En el archivo XML

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="85dp" android:layout_marginTop="179dp" android:src="@drawable/ic_launcher" /> </RelativeLayout> 

Mi AndroidManifest

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.image" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.image.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 

  • Vista de imagen en movimiento con evento táctil
  • Android ScrollView agrega un relleno adicional en la parte superior e inferior de la vista de imagen infantil
  • Extraño comportamiento de las imágenes en RecyclerView
  • Ajuste ImageView sin alargar la imagen
  • Cómo mostrar la imagen de YUV en Android
  • Android Set ImageView image src en estilo
  • Uri regresó después de ACTION_GET_CONTENT de la galería no está trabajando en setImageURI () de ImageView
  • Android: ¿Cómo evitar que la imagen sea escalada en ImageView o ImageButton?
  • 4 Solutions collect form web for “Cómo obtener la imagen de url sitio web en imageview en android”

    Hacer la red IO en el hilo principal es malo. Mejor evitar.

    También – su acceso de recursos de url es incorrecto.

    En su lugar, utilice algo como esto:

      private Bitmap bmp; new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... params) { try { InputStream in = new URL(IMAGE_URL).openStream(); bmp = BitmapFactory.decodeStream(in); } catch (Exception e) { // log error } return null; } @Override protected void onPostExecute(Void result) { if (bmp != null) imageView.setImageBitmap(bmp); } }.execute(); 

    Esta es la "vieja manera" de cargar los recursos de url en la pantalla. Francamente hablando, no he escrito ese código en mucho tiempo. Volley y Picasso simplemente lo hacen mucho mejor que yo, incluyendo caché local transparente, gestión de múltiples hilos de carga y permitiendo políticas efectivas de redimensionamiento antes de carga. Todo menos el café

    Prueba con Picasso . Debe llevar casi una línea completa de código y menos de un minuto para configurarlo.

    En su caso, que sería:

     Picasso.with(context).load(""http://imageurlgoeshere").into(i); 

    Si va a cargar varias imágenes de URL en su aplicación, definitivamente vale la pena mirar en:

    Nostra13 "Universal Image Loader"

    Es una biblioteca impresionante con toneladas de características para mostrar imágenes de URL, elenco a mapas de bits, etc

    Una vez que haya incluido la clase y haya declarado la configuración del creador de imágenes + creador de imágenes, es tan sencillo como esto:

     imageLoader.displayImage("http://www.yoursite.com/my_picture.png", imageView); 

    Donde imageView es el imageView en el que desea que aparezca la imagen.

    Su problema no es el código sino el servidor. Pruebe este url de ejemplo y dígame si está funcionando:

    http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.