【问题标题】:Load image from auto download url从自动下载 url 加载图像
【发布时间】:2023-03-13 03:48:01
【问题描述】:

在调用我的 url 时,它会自动从服务器下载图像。我需要在 Android ImageView 上显示此图像。我通常使用Piccaso 库从 url 加载图像,但这对我没有帮助,有没有办法将图像从自动下载 url 加载到 Android ImageView?

自动下载网址示例在here(wallpaperswide.com/download/bike_chase-wallpaper-2560x1600.jpg)

【问题讨论】:

  • 我的回答能解决你的问题吗?
  • @ParaskevasNtsounos 不,它适用于我的直接图片网址,但不适用于我的自动下载网址
  • 你也试过github.com/bumptech/glide吗?

标签: android android-imageview picasso android-glide


【解决方案1】:

如果不想使用 Piccaso 之类的库,请尝试以下操作:

public class AsyncTaskLoadImage  extends AsyncTask<String, String, Bitmap> {
    private final static String TAG = "AsyncLoadImage"; 
    private ImageView imageView;
    public AsyncTaskLoadImage(ImageView imageView) {
    this.imageView = imageView;
    }
    @Override
    protected Bitmap doInBackground(String... params) {
        Bitmap bitmap = null;
        try {
            URL url = new URL(params[0]);
                bitmap = BitmapFactory.decodeStream((InputStream)url.getContent());
    } catch (IOException e) {
        Log.e(TAG, e.getMessage());
    }
        return bitmap;
    }
    @Override
    protected void onPostExecute(Bitmap bitmap) {
       StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
       StrictMode.setThreadPolicy(policy);              
       imageView.setImageBitmap(bitmap);
    }
}

然后你像这样调用你的活动:

String url = "YOUR_LINK_HERE";
new AsyncTaskLoadImage(imageView).execute(url);

用更少的代码试试like this answer:

URL url = new URL("YOUR_LINK_HERE");
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
imageView.setImageBitmap(bmp);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多