我開發了一個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/ –