2012-10-23 109 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