Web サーバーから画像を取得するアプリケーションに取り組んでいます。
その画像を sqlite データベースに保存する必要があります。多分それはaに保存されbyte[]
ます; 私はこのようにして、データ型を としてblob
取得し、db から画像を取得して imageview に表示しました。
ただし、どこかで立ち往生しています:null
bytearrayからデコードすると取得されます
私が使用したコードは次のとおりです。
InputStream is = null;
try {
URL url = null;
url = new URL(http://....);
URLConnection ucon = null;
ucon = url.openConnection();
is = ucon.getInputStream();
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer barb = new ByteArrayBuffer(128);
int current = 0;
try {
while ((current = bis.read()) != -1) {
barb.append((byte) current);
} catch (IOException e) {
e.printStackTrace();
}
byte[] imageData = barb.toByteArray();
次に、imageData をデータベースに挿入しました。
画像を取得するには:
byte[] logo = c.getBlob(c.getColumnIndex("Logo_Image"));
Bitmap bitmap = BitmapFactory.decodeByteArray(logo, 0, logo.length);
img.setImageBitmap(bitmap);
しかし、私はエラーが発生しています:
ビットマップ ビットマップがヌルになっています。