我开发了一个 Android 和一个 iOS Phonegapp 应用程序。 native Android 代码加载应用程序的 html 文件:
super.loadUrl()
在此 html 文件中,我启动对 Web 服务的 ajax 请求。
但是在我连接到 Web 服务并执行 ajax 调用之前,我会测试与 Web 服务的连接,当我无法连接到 Web 服务时,应用程序应该在加载 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)
关于java - 如何测试Web服务连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13023870/