android网络加载图片
‘壹’ android ListView 异步加载 网络图片 我想用Bitmap做 代码如下:希望大家帮忙找找问题原因 谢谢!
通过消息发送的对象大小不能超过100K,你看看bitmap对象是不是超出了。还是发Uri,再加载吧。
‘贰’ Android如何获取网络图片
android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Application Not Responding)对话框的情况。对于这种情况,一般的方法就是耗时操作用线程来实现。下面列三种获取url图片的方法:
直接获取:(容易:ANR,不建议)
java">mImageView=(ImageView)this.findViewById(R.id.imageThreadConcept);
Drawabledrawable=loadImageFromNetwork(IMAGE_URL);
mImageView.setImageDrawable(drawable);
2. 后台线程获取url图片:
mImageView=(ImageView)this.findViewById(R.id.imageThreadConcept);
newThread(newRunnable(){
Drawabledrawable=loadImageFromNetwork(IMAGE_URL);
@Override
publicvoidrun(){
//post()特别关键,就是到UI主线程去更新图片
mImageView.post(newRunnable(){
@Override
publicvoidrun(){
//TODOAuto-generatedmethodstub
mImageView.setImageDrawable(drawable);
}});
}
}).start();
3.AsyncTask获取url图片
mImageView=(ImageView)this.findViewById(R.id.imageThreadConcept);
newDownloadImageTask().execute(IMAGE_URL);
<String,Void,Drawable>
{
(String...urls){
returnloadImageFromNetwork(urls[0]);
}
protectedvoidonPostExecute(Drawableresult){
mImageView.setImageDrawable(result);
}
}
‘叁’ Android ,listview 加载网络图片,点解图片放大预览怎么做
这里有个很好的例子,http://www.open-open.com/lib/view/open1376128628881.html
‘肆’ 如何在Android当中显示网络图片
在android当中显示一张网络图片的时候,其实是比较麻烦的。首先得把这个网络图片转换成java的imputstream流,然后再把这个留转换成一个bitMap.
bitMap是可以作为参数传给imageView的。
在下边的returnBitMap函数是最核心的,也是大家可以重用的,它负责把一个url的网络图片变成一个本地的BitMap。
packagecom.jinyan.image;
importjava.io.IOException;
importjava.io.InputStream;
importjava.net.HttpURLConnection;
importjava.net.MalformedURLException;
importjava.net.URL;
importandroid.app.Activity;
importandroid.graphics.Bitmap;
importandroid.graphics.BitmapFactory;
importandroid.os.Bundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;
importandroid.widget.ImageView;
{
/**.*/
StringimageUrl="http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png";
BitmapbmImg;
ImageViewimView;
Buttonbutton1;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imView=(ImageView)findViewById(R.id.imview);
imView.setImageBitmap(returnBitMap(imageUrl));
}
publicBitmapreturnBitMap(Stringurl){
URLmyFileUrl=null;
Bitmapbitmap=null;
try{
myFileUrl=newURL(url);
}catch(MalformedURLExceptione){
e.printStackTrace();
}
try{
HttpURLConnectionconn=(HttpURLConnection)myFileUrl
.openConnection();
conn.setDoInput(true);
conn.connect();
InputStreamis=conn.getInputStream();
bitmap=BitmapFactory.decodeStream(is);
is.close();
}catch(IOExceptione){
e.printStackTrace();
}
returnbitmap;
}
}
‘伍’ android 异步加载网络图片Viewflipper
你说的我听不明白,也看不明白.
‘陆’ Android ImageView如何加载网络图片资源
用imageloader
1.指定一个URL
2.指定一个加载中的图片
3.指定一个加载失败的图片
‘柒’ android 加载网络图片错误
如果使用固定地址,如每个用户头像都是用户id+什么什么的,固定下来,这样更新有两种:
1。每次都重新加载。(不符合)。
2。服务器在返回其它数据的api中返回一个标记。通过标记判断。
对于2,如果用单独api去获取是否更新,有点浪费。选择你每次都要访问的api,服务器那边在其中加一个关于头像是否更新的标记。这样,只需要一次api访问就能一并解决这个问题。