ImageView issue (Android Studio, Java)



我需要从数据库加载小部件的背景(图片本身或链接到它的图片(。在看了许多教程之后(以下是我需要的一个示例:https://youtu.be/mOhNdP1QZ7E),我无法解决这个问题。不显示图片。java类代码100%取自上面的教程。也试过其他人。

代码示例

package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class content_scrolling extends AppCompatActivity
{
ImageView imageView;
Bitmap myBitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_scrolling);
imageView1=(ImageView)findViewById(R.id.d1back);
loadimage(imageView);
}
public void loadimage(View view)
{
imageView1=(ImageView)findViewById(R.id.d1back);
class ImageLoadTask extends AsyncTask<Void, Void, Bitmap>
{
private String url;
private ImageView imageView;
public ImageLoadTask(String url, ImageView imageView) {
this.url = url;
this.imageView = imageView;
}
@Override
protected Bitmap doInBackground(Void... params) {
try {
URL connection = new URL(url);
InputStream input = connection.openStream();
myBitmap = BitmapFactory.decodeStream(input);
Bitmap resized = Bitmap.createScaledBitmap(myBitmap, 1000, 400, true);
return resized;
} catch (Exception e) {
Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_LONG).show();
}
return null;
}
@Override
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
imageView.setImageBitmap(result);
}
}
ImageLoadTask obj=new ImageLoadTask("http://....png",d1back);
obj.execute();
}

}`

您可以简单地使用一个库,它就是Glide。

1.向build.gradle(应用程序(添加依赖项

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

2.将以下代码添加到java文件中

String url="https://www.google.com" //add your URL here
ImageView imageView = findViewById(R.id.imageViewId);
Glide.with(this).load(url).into(imageView);

您可以使用Picasso或Glide在图像视图中轻松加载任何类型的图像。

使用Picasso

implementation 'com.squareup.picasso:picasso:2.71828'

Picasso.get()
.load(imageUrl)
.into(test_imageview)

使用滑翔机

implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'

Glide.with(this)
.load(imageUrl)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.into(test_imageview)

Glide lib帮助了我。谢谢朋友们。

相关内容

  • 没有找到相关文章

最新更新