最近我问过Java中HTTPClient类的替代方法。
最好的选择是Android Volley SDK。
我在Android项目中进行了编译。并编写了相应的代码。
但我收到一个错误。
com.android.volley.ParseError: org.json.JSONException
我正在使用ByteHost PHP代码作为 JSON提供程序。
以下是 PHP 代码:
<?php
mysql_connect("###","###","###");
mysql_select_db("###");
$sql1=mysql_query("SELECT * FROM coords;");
if (!$sql1) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit();
}
while($row=mysql_fetch_assoc($sql1))
$output[]=$row;
print(json_encode(array('bus' => $output)));
mysql_close();
exit();
?>
加上Java代码:
rq = Volley.newRequestQueue(this);
String url = "http://www.justbusesdbs.eb2a.com";
JsonObjectRequest r = new JsonObjectRequest(Request.Method.GET, url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray JA = response.getJSONArray("bus");
JSONObject jO = JA.getJSONObject(0);
System.out.println("#####################################");
System.out.println(jO.getString("BID"));
System.out.println("#####################################");
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println(error.networkResponse);
}
});
rq.add(r);
而且我一直在寻找解决方案,唯一的方法是编辑标题!而且我没有找到通过JAVA编辑标题的方法。