【问题标题】:How to display images from a website on ImageView on Android?如何在 Android 上的 ImageView 上显示来自网站的图像?
【发布时间】:2017-08-27 01:37:50
【问题描述】:

单击按钮时,我只能使用 AsyncTask 从网站中提取 1 张图片;但是,我想同时显示更多图像,并且它们可以自己显示而无需单击任何内容。 这是我的代码”

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;

import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.concurrent.ExecutionException;

import javax.net.ssl.HttpsURLConnection;

public class MainActivity extends AppCompatActivity {

ImageView downloadedImg;

   public void downLoad(View view) {

        ImageDownloader task = new ImageDownloader();
        Bitmap myImage;
        try {
            myImage = task.execute("https://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg").get();
            downloadedImg.setImageBitmap(myImage);


        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public class ImageDownloader extends AsyncTask <String, Void, Bitmap>{

        @Override
        protected Bitmap doInBackground(String... urls) {

            try {
                URL url = new URL(urls[0]);

                HttpURLConnection connection = (HttpURLConnection) url.openConnection();

                connection.connect();

                InputStream inputStream = connection.getInputStream();

                Bitmap myBitmap = BitmapFactory.decodeStream(inputStream);

                return myBitmap;

            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        downloadedImg = (ImageView) findViewById(R.id.imageView);

    }
}

【问题讨论】:

  • 您有已知的图像列表还是动态获取列表?

标签: java android image listview android-asynctask


【解决方案1】:

相信你知道要下载的图片的网址

我建议你使用PicassoGlide

毕加索:

compile 'com.squareup.picasso:picasso:2.5.2'

Picasso.with(context).load(url).into(imageView);

滑翔:

compile 'com.github.bumptech.glide:glide:3.7.0'

Glide.with(context).load(url).into(imageView);

【讨论】:

  • 非常感谢。那么,如果我想在下面显示图像及其描述,您认为我可以采取哪些方法?
  • 如果您拥有该网站,我的建议是从您的服务器获取一个包含所有照片 url 和描述的 json 数组。
猜你喜欢
  • 2013-03-11
  • 2019-12-29
  • 1970-01-01
  • 2021-12-08
  • 2011-09-18
  • 2015-03-02
  • 2021-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多