-3

WebView に Web ページを表示するシンプルなアプリがあります。URL の 1 つがまだオンラインになっていないため、オンラインではないことを示すトーストを作成したいと考えています。オンラインの場合は、URL をロードするだけです。

誰かがそれを行う方法を知っていますか?

前もって感謝します。

4

3 に答える 3

2

URLConnection を開き、最初に接続の応答コードを確認します。これが 404 の場合、サイトが存在しないことを意味します。その後、必要なすべてのサイト欠落処理をそこで行うことができます。コード例:

 try {
      Url url = new URL(someStringUrl);
      HttpURLConnection huc =  ( HttpURLConnection )  url.openConnection (); 
      if(huc.getResponseCode() == 404) {
           //Site doesnt exist, returned 404 error
      }
 } catch(Exception e) {
     e.printStackTrace();
 }
于 2012-08-24T15:35:22.613 に答える
0

独自の例外を拡張できます。

public class Exception404 extends Exception {
}

次に、2 つの異なる例外をキャッチします。

HttpURLConnection huc = null;

try {
     Url url = new URL(someStringUrl);
     huc =  ( HttpURLConnection )  url.openConnection (); 
     if(huc.getResponseCode() == 404) 
        throw new Exception404();

     //...
     //...
     //...

 } catch(Exception404 e) { 
    e.printStackTrace();    
 } catch(Exception e) {
    e.printStackTrace();
 } finally {
    //close connection (saves battery life time)
    huc.disconnect();
 }

または、同じ例外をスローして両方の失敗を同じ方法で処理することもできます

于 2012-08-24T15:46:32.937 に答える