2012-07-24 93 views
0

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

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

回答

0

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

这就是说我们需要更多的信息来帮助你弄清楚为什么你的json无效。你试图从哪个网址获取数据?

0

除了导致PHP输出的空响应的任何其他因果问题之外,您在通过JSONParser推送之前未能可靠地测试输出。

请确保您在尝试通过之前验证您的返回数据。

这可能是那样简单:

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

你应该抓住你的下载代码,为您提供更多信息任何异常。

你可以使用try/catch块来做到这一点。

了解如何使用logcat与您的设备调试代码并找出原因。任何其他方法都是猜测。

相关问题