var imageMap = new HashMap<String, byte[]>();
var imageUrl = "http://i.stack.imgur.com/TLjuP.jpg";
var imagedata = GetImage(imageUrl);
imageMap.put("img",imagedata);
检索中
var imageData = imageMap.get("img");
var imageStream = new ByteArrayInputStream(imageData);
var image = BitmapFactory.decodeStream(imageStream);
获取图片
private byte[] GetImage(String url)
{
try
{
var imageUrl = new URL(url);
var urlConnection = imageUrl.openConnection();
var inputStream = urlConnection.getInputStream();
var bufferedInputStream = new BufferedInputStream(inputStream);
var byteArrayBuffer = new ByteArrayBuffer(500);
int current = 0;
while ((current = bis.read()) != -1)
{
byteArrayBuffer.append((byte)current);
}
return byteArrayBuffer.toByteArray();
}
catch (Exception e)
{
Log.d("ImageManager", "Error: " + e.toString());
return null;
}
}
2条答案
按热度按时间js81xvg61#
您应该在数据库中使用
BLOB
:检查this tutorial ...
但我认为你应该下载并存储图像在HashMap中,这将使它更简单。
验证码:
存储
检索中
获取图片
希望对你有帮助。
oxosxuxt2#
将图像存储到SQLite中没有什么特别的。只需创建BLOB记录类型的表并执行如下操作:
也许你会想一个块一个块地保存图片,因为有限制/推荐的BLOB大小(不记得有多少)