我试图从我的Android应用程序调用以下Web服务,然后挂起然后完成而不返回结果:
网络服务:http://androidexample.com/media/webservice/JsonReturn.php
然而,当我点击链接时,它工作正常 - 显示的json文件。但它在我的应用程序中无效..
但现在,它现在在我的Android应用程序中工作正常,也许它暂时是我正在猜测的。我如何知道Web服务是否已启动并运行以供Android应用程序使用?
答案 0 :(得分:0)
通常,Web服务设计为具有可以返回状态文本的状态页面或用于指示服务状态的HTTP返回代码。
如果没有,您可以设计一个函数来定期执行具有已知结果的非常基本的请求来确定状态。这比做一个简单的ping要好得多。
答案 1 :(得分:0)
如果它出现故障,很可能会显示一个HTML错误页面,您的应用会尝试解析该错误页面,这会导致错误。
我有一个类似的问题,因为我需要知道用户是否正在返回HTML或正确的JSON,为此我创建了我将要在解析区域的try / catch之外使用的ArrayList。如果使用字符串,则应该这样做。
我的意思是,使用:
ArrayList<Something> arrayList = new ArrayList<Something>();
String testString = ""; instead of String testString = null;
我一度只使用ArrayList<Something> arrayList;
这是不正确的。如果用户然后返回HTML,您将不会收到错误,用户将只返回一个空的arraylist或空字符串。
然后,您可以为此计划并显示某种错误消息。这样,您只需要一个网络请求,但您仍然可以计划恢复数据,并且服务器已关闭。