我正在为我的
Android应用程序创建一个休息服务,其中外部数据库返回要存储在应用程序本地数据库中的项目.我有一切工作,除了blob被返回为空.
{"id":"2","user_id":"1","name":"testing","type":"bouldering","picture":null,"lat":"36","long":"81","alt":"41932","accuracy":"53","thumbnail":null}
这是我的PHP脚本来返回数据.
<?PHP require_once('config.PHP'); $MysqLi = new MysqLi(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME); $sql = 'select * from spot_main'; $results =$MysqLi->query($sql); $spots = array(); //array to parse jason from while($spot = $results->fetch_assoc()){ $spots[] = $spot; } echo json_encode($spots); ?>
在生成JSON之前,将二进制数据编码为base64.
$obj->picture = base64_encode($binaryData);
然后,您可以在Android应用程序中使用任何基本的64解码器对其进行解码.由于API级别为8,因此内置了util class.否则有很多外部库可用于定位Android 2.1或更早版本.