2012-10-23 110 views
1

我开发了一个android和一个iOS phonegapp应用程序。 原生的Android代码加载与应用程序的HTML文件:如何测试web服务连接

super.loadUrl() 

在这个HTML文件,我开始Ajax请求的web服务。

但是在我连接到webservice并执行ajax调用之前,我会测试与webservice的连接,并且当我无法连接到webservice时,应用程序应在我加载html之前关闭,并发出警报或警告。

+0

如何在加载phonegap后发送ajax请求。直到你可以给一个加载屏幕/启动画面。如果你不能连接到webservice,你可以调用自定义退出代码。 –

+0

现在使用Junit测试你的web服务响应... http://findnerd.com/list/view/Testing-Web-Service-response-using-Junit-in-Android/3193/ –

回答

0

您可以使用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) 
+0

但是这只让你知道任何连接都可用,并且如果Web服务器已准备就绪/如果服务器已启动,则不需要 –

+0

我需要知道服务器是否在线。 – PMe