Tôi có hình ảnh từ web trong một số ImageView
. Nó rất nhỏ (một favicon) và tôi muốn lưu trữ nó trong cơ sở dữ liệu SQLite của tôi. Tôi có thể nhận được Drawable
từ mImageView.getDrawable()
nhưng sau đó tôi không biết phải làm gì tiếp theo. Tôi không hiểu đầy đủ về lớp học Drawable
trong Android.Có thể chia thành byte []
Tôi biết tôi có thể nhận được một mảng byte từ một Bitmap
như:
Bitmap defaultIcon = BitmapFactory.decodeStream(in);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
defaultIcon.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] bitmapdata = stream.toByteArray();
Nhưng làm thế nào để tôi nhận được một mảng byte từ một Drawable
?
Cảm ơn bạn đã rõ ràng !! Không nghĩ đến việc đúc nó. –
Nó phải là: bitmap.compress (Bitmap.CompressFormat.JPEG, 100, stream); Nếu không luồng không chứa dữ liệu ... – Entreco
@Cristian tôi đã lưu bitmapdata trong cơ sở dữ liệu dưới dạng BLOB, một lần nữa khi tôi lấy lại được của mình từ BLOB, nền trở thành màu đen. Bạn có thể giúp tôi không? tôi muốn nền trong suốt như trước khi lưu vào cơ sở dữ liệu. –