gpt4 book ai didi

java - 使用 URL 下载图像

转载 作者:行者123 更新时间:2023-11-29 04:28:52 25 4
gpt4 key购买 nike

我正在尝试使用我的应用程序中的 URL 和按钮下载图像。当我在手机上运行它时,我无法下载图像。谁能指出这个问题。提前感谢您的帮助:)

这是我的代码。

public class MainActivity extends AppCompatActivity {

ImageView download;

public void downloadImage(View view){

DownloadImage image = new DownloadImage();
Bitmap result;
try {
result = image.execute("https://en.wikipedia.org/wiki/File:Bart_Simpson_200px.png").get();
download.setImageBitmap(result);
}
catch(Exception e)
{
e.printStackTrace();
}
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
download = (ImageView) findViewById(R.id.imageView);
}

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

@Override
protected Bitmap doInBackground(String... urls) {
URL url;
HttpURLConnection urlConnection = null;
try {
url = new URL(urls[0]);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setDoInput(true);
urlConnection.connect();
InputStream in = urlConnection.getInputStream();
Bitmap Image = BitmapFactory.decodeStream(in);
in.close();
return Image;
}
catch (MalformedURLException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
}

最佳答案

你可以通过两种方式从url下载图片

1。您可以使用 Glide library从 url 加载图像看下面的代码它可以以简单的方式帮助你

编译这个库

   implementation 'com.github.bumptech.glide:glide:4.6.1'

比这样加载图片

 Glide.with(MainActivity.this)
.load(url)
.apply(new RequestOptions().placeholder(R.drawable.booked_circle).error(R.drawable.booked_circle))
.into(imageview);

2.如果你不想使用第三方库,试试这个

 new DownloadImage(imamgeview).execute(url);

创建异步任务

public class DownloadImage extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;

public DownloadImage(ImageView bmImage) {
this.bmImage = (ImageView ) bmImage;
}

protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.d("Error", e.getStackTrace().toString());

}
return mIcon11;
}

protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}

希望对你有用

关于java - 使用 URL 下载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44724824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com