簡體   English   中英

從網址下載的圖片未顯示在視圖中

[英]downloaded image from url is not showing in view

我想問一下我要從url下載圖像,就是說我在字符串數組中有url,然后單擊按鈕,我移到下一個url,然后從服務器下載圖像。 它可以在三星銀河s2手機和圖像下載並在視圖中完美運行,但是在其他一些小尺寸屏幕的手機中,它卻不在視圖中顯示,但在某些情況下卻顯示...這是什么原因呢?在onpostExecute()中使用setimageBitmap(),它對於三星galaxys2效果很好,為什么在較低范圍的移動設備上它不顯示..i也會更改圖像視圖的高度和寬度,但不能解決..但是會顯示一段時間。

我的代碼如下。

日志貓:

  logcat out  put :



   DEBUG/skia(231): --- decoder->decode returned false
  INFO/System.out(231): Bitmap :: null
  INFO/System.out(231): Bitmap on post :: null
 WARN/InputManagerService(63): Window already focused, ignoring focus gain of:   com.android.internal.view.IInputMethodClient$Stub$Proxy@44c17828
INFO/System.out(231): Message sent
 INFO/image url/////(231):   http://www.artealdiaonline.com/var/artealdia_com/storage/images/argentina/agenda/exposiciones_muestras/carlos_cruz-diez/carlos_cruz-diez2/507989-1-esl-AR/Carlos_Cruz-Diez.jpg
   INFO/System.out(231): Bitmap :: android.graphics.Bitmap@44d64750
     INFO/System.out(231): Bitmap on post :: android.graphics.Bitmap@44d64750

試試這個來獲取圖像::

 ImageButton   tran_btn_skip = (ImageButton) findViewById(R.id.tran_btn_skip);

        try {
            Bitmap bitmap = BitmapFactory.decodeStream((InputStream) new URL(
                    "http://www.hermann-uwe.de/files/images/blue_flower.preview_0.jpg")
                    .getContent());
            tran_btn_skip.setImageBitmap(bitmap);
        } catch (Exception e) {
        }

清單許可:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

如果從服務器加載,請在移動設備( not in emulator )中嘗試此操作,但是,如果從其他任何服務器加載,則可以在模擬器中顯示十。

更新::

看到

package com.progressbar;

import java.io.InputStream;
import java.net.URL;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageButton;
public class progressbar extends Activity  {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        ImageButton   tran_btn_skip = (ImageButton) findViewById(R.id.login);

        try {
            Bitmap bitmap = BitmapFactory.decodeStream((InputStream) new URL(
                    "http://www.artealdiaonline.com/var/artealdia_com/storage/images/argentina/agenda/exposiciones_muestras/leila_tschopp3/baja-leila_tschopp_-_river_-acrilico_sobre_tela-130x150_cm_-_2011/498599-1-esl-AR/BAJA-Leila_Tschopp_-_River_-acrilico_sobre_tela-130x150_cm_-_2011.jpg")
                    .getContent());
            tran_btn_skip.setImageBitmap(bitmap);
        } catch (Exception e) {
        }

    }
    }

試試這個:

   HttpURLConnection conn = (HttpURLConnection) url.openConnection();
   conn.setDoInput(true);
   conn.setConnectTimeout(7000);
   conn.connect();
   BufferedInputStream is = new BufferedInputStream(conn.getInputStream());
   Drawable drawable = Drawable.createFromStream(is, imageUrl);
   view.setImageBitmap(drawable)

這是完整的代碼:

String imageUrl = "http://someurl.com/example.png";
URL url = new URL(imageUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setConnectTimeout(7000);
conn.connect();
BufferedInputStream is = new BufferedInputStream(conn.getInputStream());
Drawable imageDrawable = Drawable.createFromStream(is, imageUrl);
view.setImageBitmap(imageDrawable);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM