【发布时间】:2016-10-27 05:00:49
【问题描述】:
可能我在重复同样的问题,但我还没有找到解决这个问题的方法,而且许多相同的问题仍未得到解答。所以,这是我的问题:
我已经实现了 PHP 后端,用户可以上传任何图像格式的图片,并将在 MySQl 数据库中保存为 BLOB。为了在 Android 设备上检索这些图像,我准备了 JSON 响应,其中这些图像采用 base64 字符串的形式。
PHP 代码:
$rightScrollImage= base64_encode($row['right_image']);
现在,在 Android 端,这些图像将保存在 SQLite 数据库中,这里是
插入图像的代码:
rightScrollImage.setRightimagedata(Base64.decode(row.getString("rightScrollerImage"), 0));
SQLite 中此字段的 WHERE 数据类型也为 BLOB。
显示图像的代码:
byte[] imageData = cursor.getBlob(cursor.getColumnIndex(DatabaseManager.RIGHT_IMAGE));
Bitmap bitmap = BitmapFactory.decodeByteArray(imageData, 0, imageData.length);
imageStream.reset();
holder.imageView.setImageBitmap(bitmap);
此代码的问题是它可以解码少量图像并且那些未显示的图像出现错误 "D/skia: --- decoder->decode returned false"。
【问题讨论】:
标签: php android image sqlite bitmap