Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android中longblob的位图_Java_Android_Mysql_Database_Bitmap - Fatal编程技术网

Java android中longblob的位图

Java android中longblob的位图,java,android,mysql,database,bitmap,Java,Android,Mysql,Database,Bitmap,我有一些图像以longblobs的形式存储在远程MySQL数据库中,我需要为我的Android应用程序检索它们,并显示为位图。我有一个PHP脚本设置来解析Android应用程序中的SQL查询 我尝试过的: 我尝试获取longblob字段下面的字符串,然后对其使用getBytes()。但很明显,它不起作用。如果显示字符串,将显示大量字符(可读和不可读)。因此,问题在于编码或从字符串转换为字节[](我认为) 我需要什么:有没有办法从存储在MySQL数据库中的远程longblob创建Bitmap,我使

我有一些图像以
longblob
s的形式存储在远程MySQL数据库中,我需要为我的Android应用程序检索它们,并显示为
位图
。我有一个PHP脚本设置来解析Android应用程序中的SQL查询

我尝试过的: 我尝试获取
longblob
字段下面的字符串,然后对其使用
getBytes()
。但很明显,它不起作用。如果显示字符串,将显示大量字符(可读和不可读)。因此,问题在于编码或从字符串转换为
字节[]
(我认为)

我需要什么:有没有办法从存储在
MySQL
数据库中的远程
longblob
创建
Bitmap
,我使用自定义PHP脚本从Android连接数据库?我完全确定脚本工作正常,我的代码100%工作到变量
httpEntity
。我甚至可以得到
字符串及其正确值。唯一的问题是,我无法获得位图

谢谢。

越简单越好:)PHP可以从数据库输出blob

header('Content-Type: image/png');
echo $result['blob'];
当您使用web浏览器请求此脚本时,您将看到一个PNG图像。然后是安卓部分

InputStream in = new URL("http://img.io/read.php").openStream();
Bitmap bmp = BitmapFactory.decodeStream(in);
in.close();

这里不需要通过字符串。。。Java中的字符串不仅仅是字节数组。它们具有语义,因此字节数组总是与编码方案(默认为UTF-16LE)结合使用。

非常感谢您的回答。我认为它会像预期的那样工作,但为了确保,在选择这个作为正确答案之前,我会检查它。再次感谢:)+1答案:)请问您是否真的需要将图像存储在DB中?正如你所看到的,这有点低效。如果它是一个文件,Apache可以简单地为它提供服务,但这样您就必须连接到DB服务器,让它为您读取文件系统。考虑这个建议;你有这方面的例子吗?但是,我仍然需要上面的代码来读取
位图
,对吗?什么示例?用PHP读取数据库?从
输入流
创建
位图
?这不是一件很复杂的测试;)不,我的意思是“…Apache可以简单地为它服务…连接到DB服务器,让它为您读取文件系统…”部分。
InputStream in = new URL("http://img.io/read.php").openStream();
Bitmap bmp = BitmapFactory.decodeStream(in);
in.close();