我正在进入android的聊天应用程序的最后阶段。
在处理图片和网络服务时,我遇到的问题很少。
因此,当我选择图像并将该图像发送到Web服务时,我从服务中获取URL。如何将该网址转换为我本地文件夹中的图像。我很困惑,我怎么能让这个工作。
我想在列表视图中显示所选图像以及从Web服务返回的消息。
请在这个问题上指导我。有没有其他选择可以解决这个问题。
感谢。
答案 0 :(得分:5)
使用此方法:
public static Bitmap getBitmapFromURL(String src) {
try {
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setDoInput(true);
connection.connect();
connection.setReadTimeout(120000);
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
此处您需要将图像的URL传递给该函数,您可以将该图像设置为setImageBitmap函数。
答案 1 :(得分:0)
使用此方法将网址转换为图片Bitmap bi=convertImage(url);
,在此行中提及您的图片尺寸
bit = Bitmap.createScaledBitmap(bm,120,120,true);
public Bitmap convertImage(String url)
{
URL aURL = null;
try
{
final String imageUrl =url.replaceAll(" ","%20");
Log.e("Image Url",imageUrl);
aURL = new URL(imageUrl);
URLConnection conn = aURL.openConnection();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
Bitmap bm = BitmapFactory.decodeStream(new PatchInputStream(bis));
if(bm==null)
{}
else
bit=Bitmap.createScaledBitmap(bm,120, 120, true);
return bm;
}
catch (IOException e)
{
Log.e("error in bitmap",e.getMessage());
return null;
}
}
将返回的bm(位图)设置为ImageView imageview.setImageBitmap(bi)
随意提出疑问