Sha*_*z K 22 url android imageview
我想使用Url在ImageView中设置Image,例如我有这个url
但是没有设置url的选项
kal*_*pvs 56
编辑:
创建一个扩展AsyncTask的类
public 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 urlConnection = new URL(url);
HttpURLConnection connection = (HttpURLConnection) urlConnection
.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
imageView.setImageBitmap(result);
}
}
Run Code Online (Sandbox Code Playgroud)
并称之为 new ImageLoadTask(url, imageView).execute();
直接法:
使用此方法并将您的URL作为字符串传递.它返回一个位图.将位图设置为ImageView.
public static Bitmap getBitmapFromURL(String src) {
try {
Log.e("src",src);
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
Log.e("Bitmap","returned");
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
Log.e("Exception",e.getMessage());
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
然后这就像ImageView一样:
imageView.setImageBitmap(getBitmapFromURL(url));
Run Code Online (Sandbox Code Playgroud)
并且不要忘记maifest中的这个许可.
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)
注意:
尝试从另一个线程或AsyncTask调用此方法,因为我们正在执行网络操作.
ehn*_*ark 31
你也可以让Square的Picasso图书馆做繁重的工作:
Picasso
.with(context)
.load("http://...")
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
作为奖励,您可以获得缓存,转换等.
尝试:
URL newurl = new URL(photo_url_str);
mIcon_val = BitmapFactory.decodeStream(newurl.openConnection() .getInputStream());
profile_photo.setImageBitmap(mIcon_val);
Run Code Online (Sandbox Code Playgroud)
更多来自
1)如何在Android中加载-to-imageview-by-url-in-android.
2)android-make-an-image-at-a-url-equal-to-imageviews-image
小智 5
使用Glide库:
Glide.with(context)
.load(new File(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用Picasso或Glide。
Picasso.get()
.load(your_url)
.into(imageView);
Glide.with(context)
.load(your_url)
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
114899 次 |
| 最近记录: |