我开发了一个android和一个iOS phonegapp应用程序。 原生的Android代码加载与应用程序的HTML文件:如何测试web服务连接
super.loadUrl()
在这个HTML文件,我开始Ajax请求的web服务。
但是在我连接到webservice并执行ajax调用之前,我会测试与webservice的连接,并且当我无法连接到webservice时,应用程序应在我加载html之前关闭,并发出警报或警告。
我开发了一个android和一个iOS phonegapp应用程序。 原生的Android代码加载与应用程序的HTML文件:如何测试web服务连接
super.loadUrl()
在这个HTML文件,我开始Ajax请求的web服务。
但是在我连接到webservice并执行ajax调用之前,我会测试与webservice的连接,并且当我无法连接到webservice时,应用程序应在我加载html之前关闭,并发出警报或警告。
您可以使用HttpURLConnection发送请求并检查响应正文中是否为该页面唯一的文本(而不仅仅是检查是否有响应,以防万一错误或维护页面或某事正在服务)。
Apache Commons有一个库,它可以去掉很多用Java创建Http请求的锅炉板。
我从来没有在Android上专门做过这样的事情,但是如果它有什么不同,我会很惊讶。
这里有一个简单的例子:
URL url = new URL(URL_TO_APPLICATION);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream stream = connection.getInputStream();
Scanner scanner = new Scanner(stream); // You can read the stream however you want. Scanner was just an easy example
boolean found = false;
while(scanner.hasNext()) {
String next = scanner.next();
if(TOKEN.equals(next)) {
found = true;
break;
}
}
if(found) {
doSomethingAwesome();
} else {
throw aFit();
}
也尝试这个
他很可能需要Java代码,因为他的工作在Android上。 Java相当于 - 我认为它适用于Android - 应该是:
InetAddress.getByName(host).isReachable(timeOut)
但是这只让你知道任何连接都可用,并且如果Web服务器已准备就绪/如果服务器已启动,则不需要 –
我需要知道服务器是否在线。 – PMe
如何在加载phonegap后发送ajax请求。直到你可以给一个加载屏幕/启动画面。如果你不能连接到webservice,你可以调用自定义退出代码。 –
现在使用Junit测试你的web服务响应... http://findnerd.com/list/view/Testing-Web-Service-response-using-Junit-in-Android/3193/ –