【发布时间】:2012-04-08 15:39:21
【问题描述】:
我从 PHP 获取 JSON 数据。并传递给 Android。
这是我的 PHP 代码:
<?php
mysql_connect("localhost","root","MobixMySQL");
mysql_select_db("cozydine");
$q=mysql_query("SELECT itemimage from fooditem");
while($obj=mysql_fetch_object($q)){
$arr[]=$obj;
}
echo '{"names":'.json_encode($arr).'}';
mysql_close();
?>
这是我阅读图像的方式:
try {
BufferedReader reader =
new BufferedReader(new InputStreamReader( is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
jArray = new JSONObject(result);
JSONArray json = jArray.getJSONArray("names");
for (int i = 0; i < json.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
JSONObject e = json.getJSONObject(i);
Qrimage=e.getString("itemimage");
System.out.println(Qrimage);
byte[] qrimage = Base64.decode(Qrimage.getBytes());
System.out.println(qrimage);
bmp = BitmapFactory.decodeByteArray(qrimage, 0,qrimage.length);
ImageView imageview=(ImageView) findViewById(R.id.imageView1);
imageview.setImageBitmap(bmp);
这是我如何解析来自 PHP 代码的响应:
codeInputStream is = null;
String result = "";
JSONObject jArray = null;
try {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(serverurl+"showall.php");
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) { }
这样,我只能在我的 Android 手机上查看最后一张图片...我想将数据库中的所有图片显示到 Android 手机中。如何使用 JSON 数据获取所有图像?
【问题讨论】:
-
信息不足。我们需要更多地了解 php 代码提供的服务以及您从它们那里得到的响应。
Qrimage是什么?这里e是什么:Qrimage=e.getString("itemimage") -
以上代码我的php代码
-
请用这样的阐述修改您的问题。另外你还没有提供java端代码:构造这个
e的逻辑。 -
我的 java codeInputStream is = null;字符串结果 = ""; JSONObject jArray = null;尝试 { HttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(serverurl+"showall.php"); HttpResponse 响应 = httpClient.execute(httpPost); HttpEntity 实体 = response.getEntity();是 = entity.getContent(); } catch (Exception e) { } 这里连接服务器我可以提供代码请看我不怎么修改我是新的堆栈溢出请在android中帮助我
-
这是我对服务器的响应 try { BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder();字符串线=空; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close();结果 = sb.toString(); jArray = new JSONObject(结果); JSONArray json = jArray.getJSONArray("names"); for (int i = 0; i map = new HashMap
(); JSONObject e = json.getJSONObject(i); Qrimage=e.getString("itemimage")