0

我的应用程序的构建目标是 Google API 2.2,它确实在 eclipse 模拟器上完美运行,但是当我从设备运行它时(带有 android 2.3.5 的三星 gt s5830),当应用程序发出 http 请求时,我得到“强制关闭”( apache-mysql-php),返回的 json 数组为空。E/Buffer 错误(1677):转换结果时出错 java.lang.NullPointerException E/JSON Parser(1677):解析数据时出错 org.json.JSONException:E/AndroidRuntime(1677)的字符 0 处输入结束:致命异常:主要的

如果您有任何想法,请帮助..(与任何设备设置有关吗?我有“Usb调试”,“gps”,“数据同步”,“互联网连接”)

4

3 回答 3

0

它强制关闭,因为您只是假设您返回的 json 是好的,而事实并非如此。这就是为什么它给你一个解析器异常。您需要添加更好的错误处理,因为您不能指望移动设备与网络保持一致的连接。

也就是说,我们需要更多信息来帮助您找出您的 json 无效的原因。您要从哪个网址提取数据?

于 2012-07-24T21:14:00.020 回答
0

Beyond any other causal problem resulting in a null response from your php output, you have failed to reliably test the output before pushing it through the JSONParser.

Make sure that you validate your return data before trying to pass it.

This could be as simple as:

if(myJsonData!=null)
{
   //parse the json
}
else
{
   //do something useful here
}

You should be catching any exceptions in your download code that provide you more information.

You can do this using try/catch blocks.

Also learn about how to use logcat with your device to debug the code and find out what the cause is. Any other method is guesswork.

于 2012-07-24T21:15:04.330 回答
0

您是否在清单中为 Android.Hardware.Wifi设置了使用功能?

于 2012-07-24T21:07:09.840 回答