我的问题很简单。我无法从php获取项目的价值,我的Android应用程序崩溃了。我的PHP:
<?php
$control["value"] = 0;
echo json_encode($control);
?>
My Java Android:
private static final String CONTROL_URL = "xxxxx.controller.php";
int control;
...
@Override
public void onClick(View v) {
JSONParser jParser = new JSONParser();
//it crash here
JSONObject json = jParser.getJSONFromUrl(CONTROL_URL);
try {
control = json.getInt(CONTROL_URL);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (control == 0) {
//Do something...
}
当我试图在浏览器上访问我的php文件时,它会显示:{&#34; value&#34;:0}。有人可以帮我解决这个问题吗?顺便说一句,我的网址 - xxxxx.controller.php并不真实,我使用真正的应用程序,但我不想显示它。
答案 0 :(得分:1)
json.getInt不会将“value”作为参数而不是URL吗? 所以json.getInt(“value”)
答案 1 :(得分:1)
当您从JSONObject
抓取整数时,您输入的密钥是没有意义的网址。尝试将其更改为
control = json.getInt("value");
答案 2 :(得分:0)
你可以试试这个:
<?php
$control = array('value' => 0);
echo json_encode($control);
?>
答案 3 :(得分:0)
您的错误日志显示您正在主线程(NetworkOnMainThreadException)上进行网络调用,而android禁止。您必须将调用以将JSON移动到单独的线程。使用异步任务将实现此目的。