实现imageview直接利用url实现加载图片
来源:互联网 发布:mac os下载 编辑:程序博客网 时间:2024/06/03 19:04
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.widget.ImageView;
public class SmartImageView extends ImageView{
public SmartImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public SmartImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SmartImageView(Context context) {
super(context);
}
private Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
Bitmap bm = (Bitmap) msg.obj;
SmartImageView.this.setImageBitmap(bm);
};
};
public void setImageUrl(final String path){
if(TextUtils.isEmpty(path)){
return;
}else{
new Thread(){
public void run() {
try {
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
int code = conn.getResponseCode();
if(code == 200){
InputStream is = conn.getInputStream();
Bitmap bm = BitmapFactory.decodeStream(is);
Message msg = Message.obtain();
msg.obj = bm;
handler.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
}
import java.net.HttpURLConnection;
import java.net.URL;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.widget.ImageView;
public class SmartImageView extends ImageView{
public SmartImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public SmartImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SmartImageView(Context context) {
super(context);
}
private Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
Bitmap bm = (Bitmap) msg.obj;
SmartImageView.this.setImageBitmap(bm);
};
};
public void setImageUrl(final String path){
if(TextUtils.isEmpty(path)){
return;
}else{
new Thread(){
public void run() {
try {
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
int code = conn.getResponseCode();
if(code == 200){
InputStream is = conn.getInputStream();
Bitmap bm = BitmapFactory.decodeStream(is);
Message msg = Message.obtain();
msg.obj = bm;
handler.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
}
}
<com.itheima.smartimageview.SmartImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/iv" />
private SmartImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (SmartImageView) findViewById(R.id.iv);
iv.setImageUrl("http://pic.hao123.com/");
}
0 0
- 实现imageview直接利用url实现加载图片
- 利用Gallery和ImageView实现图片浏览器
- 给ImageView设置标记,实现加载图片
- Android 利用TimerTask实现ImageView图片播放效果
- 利用SoftReference实现图片异步加载
- 利用DiskLruCache 实现异步加载图片
- 利用Echo.js 实现图片延迟加载
- Gallery+ImageView实现图片浏览
- ImageView实现图片的剪切
- 自定义ImageView实现圆形图片
- Android ImageView实现图片切换
- Android imageview图片缩放实现
- 自定义ImageView实现圆形图片
- Bmob平台实现头像上传+Volley框架加载图片url
- 从网络url读取图片加载到imageview
- android 利用ImagevView加载本地图片并实现等比缩放
- 利用CSS、JavaScript及Ajax实现图片预加载方法
- 利用RecyclerView和自定义Image Loader实现本地图片加载
- 使用adb命令拷贝data文件夹中的文件到sd卡上
- JSP中文乱码问题
- 页面大小改变对idangerous swiper的影响
- Mysql数据类型介绍
- 对函数指针,指针函数和指针的指针理解。
- 实现imageview直接利用url实现加载图片
- 如何构建超强伸缩性的游戏服务器而集容错、负载均衡和无限伸缩性于一身(erlang)
- poj 1265 皮克定理+多边形面积+边上点的数量的求取
- android 修改源码framework后如何编译
- 计算多组数据中电梯的不同路径所用的时间
- window.showModalDialog以及window.open用法简介
- Mysql存储引擎简介
- Web项目目录规范
- CODEVS 1076 排序(快排)