通过下载网络图片并把它作为ImageView显示内容的方法
package com.android.ken.imageview;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends Activity {
//定义一个图片显示控件
private ImageView imageView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//图片资源
String url = "http://www.baidu.com/img/baidu_sylogo1.gif";
//得到可用的图片
Bitmap bitmap = getHttpBitmap(url);
imageView = (ImageView)this.findViewById(R.id.imageViewId);
//显示
imageView.setImageBitmap(bitmap);
}
/**
* 获取网落图片资源
* @param url
* @return
*/
public static Bitmap getHttpBitmap(String url){
URL myFileURL;
Bitmap bitmap=null;
try{
myFileURL = new URL(url);
//获得连接
HttpURLConnection conn=(HttpURLConnection)myFileURL.openConnection();
//设置超时时间为6000毫秒,conn.setConnectionTiem(0);表示没有时间限制
conn.setConnectTimeout(6000);
//连接设置获得数据流
conn.setDoInput(true);
//不使用缓存
conn.setUseCaches(false);
//这句可有可无,没有影响
//conn.connect();
//得到数据流
InputStream is = conn.getInputStream();
//解析得到图片
bitmap = BitmapFactory.decodeStream(is);
//关闭数据流
is.close();
}catch(Exception e){
e.printStackTrace();
}
return bitmap;
}
}
分享到:
相关推荐
图片的三级缓存策略,即内存、硬盘和网络(其实网络不算是缓存,姑且算是吧~~),内存缓存使用的时LRUCache,这是一个存放键值对的列表,如果内存不够...给ImageView设置图片时,会依次从内存、硬盘和网络中获取数据。
与其他图片加载库相同,Glide除了可以加载网络图片之外,也可以加载本地图片。甚至还可以从各种各样奇葩的数据源中加载图片。 加载网络图片 很多情况下,我们使用图片加载库就是为了加载网络图片。网络操作是一个很...
默认选择HttpUrlConnection作为网络协议栈,还可以选择OkHttp和Volley作为网络协议栈其他功能: 如在图片加载过程中,使用Drawables对象作为占位符、图片请求的优化、图片的宽度和高度可重新设定、缩略图和原图的...
Android平台的图像控件源码+项目说明(异步加载网络图片、项目资源和本地图片,并且支持双指缩放、图片的基本处理).zip # Fresco-ImageView FrescoImageView是一种Android平台的图像控件,可以异步加载网络图片、...
总体描述:使用FindViewWithTag()方法来解决图片乱序、变化问题,以图片的URL作为Tag来进行标记 代码中核心步骤: 1、ImageView设置ImageResource 2、ImageView设置Tag 3、onPostExecute中获取Tag 缺点:此法治标不...
5.使用com.github.chrisbanes:PhotoView:latest.release扩展ImageView 支持通过单点/多点触摸来进行图片缩放 6.使用可上拉、下拉加载的irecyclerview扩展RecyclerView 7.使用Vitamio 作为在线视频观看的第三方库 8....
一行代码实现网络图片加载,任何View(ImageView设置src,普通View设置bg)加载图片的时候都无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象,同时无需考虑图片加载过程中出现的OOM。...
4.2 将背景图片作为按钮 4.3 用toast实现提示 4.4 用checkbox实现一个简单的物品清单 4.5 实现同意条款效果 4.6 radiogroup选择 4.7 imageview相框 4.8 spinner选择处理 4.9 gallery相簿 4.10 用.iava.io.file实现...
在 pubspec.yaml 文件中添加thumbnails作为依赖项。 thumbnails : ^1.0.1 更新 Android 权限 将这些行添加到 AndroidManifest.xml 注意:对于 >= 6.0 的 android 版本,您可能需要在运行时向用户请求权限,...
图片绑定支持gif, webp; 支持圆角, 圆形, 方形等裁剪, 支持自动旋转... 使用Gradle构建时添加一下依赖即可: compile 'org.xutils:xutils:3.1.+' // or // compile 'org.xutils:xutils:3.1.15' 如果使用eclipse可以 ...
2.3.3 使用9Patch图片作为按钮背景 68 2.3.4 单选按钮(RadioButton)和复选 框(CheckBox)介绍与应用 69 2.3.5 状态开关按钮(ToggleButton) 的功能与用法 71 2.3.6 时钟(AnalogClock和Digital ...
7.3.15 图片视图(ImageView)介绍与应用 7.3.16 图片按钮(ImageButton)介绍与应用 7.3.17 切换图片(ImageSwitcher&Gallery) 7.3.18 网格视图(GridView)介绍与应用 7.3.19 标签(Tab)介绍与应用 7.4 友好的菜单——menu...
7.3.15 图片视图(imageview)介绍与应用 95 7.3.16 图片按钮(imagebutton)介绍与应用 96 7.3.17 切换图片(imageswitcher&gallery;) 96 7.3.18 网格视图(gridview)介绍与应用 99 7.3.19 标签(tab)介绍与...
如何实现因为有头像,并且涉及到加载网络图片。理论上来说我们可以直接继承ImageView来实现,可是这样太复杂了,是不可取的。所以头像跟我们现在所要实现效果是分开的。然后在跟头像组合在一起,这里可以使自定义一...