WebView は、Web ページから返されたエラー コード情報を処理します。
このセクションの概要:
あなたの会社が HTML5 モバイル APP を作成している場合、Web ページにアクセスすると WebView を通じて Web ページが表示されます。 WebView のデフォルト エラーが直接ポップアップする場合、存在しない、または他のエラーが 404、401、403、30X およびその他のエラー ステータス コードを報告する プロンプト ページはあまりフレンドリーではないかもしれませんが、WebViewClient の onReceivedError() メソッドをオーバーライドして目的を達成できます。 目的の効果を得るには、一般的な方法が 2 つあります。1 つは、アセット ディレクトリにエラー メッセージを作成することです。 HTML ページでは、エラーが発生したとき、つまり onReceivedError() が呼び出されたときに、webView のloadUrl を呼び出してジャンプします。 エラー ページ: wView.loadUrl("file:///android_asset/error.html");! または、別のページを作成することもできます。 通常、レイアウトまたは大きな画像は非表示に設定されています。ページエラーが発生した場合は、レイアウトまたは画像を表示してください。 以下に簡単な例を書いてみましょう。
1. ページエラー、カスタム Web ページの読み込み:
実行中の効果図:
キーコード:
wView.setWebViewClient(new WebViewClient() { //设置在webView点击打开的新网页在当前界面显示,而不跳转到新的浏览器中 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, errorCode, description, failingUrl); wView.loadUrl("file:///android_asset/error.html"); } });
2. ページエラー、対応する View
の表示ニング効果図 :
実装コード:
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private WebView wView; private ImageView img_error_back; private Button btn_refresh; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); wView = (WebView) findViewById(R.id.wView); img_error_back = (ImageView) findViewById(R.id.img_error_back); btn_refresh = (Button) findViewById(R.id.btn_refresh); wView.loadUrl("http://www.baidu.com"); wView.setWebViewClient(new WebViewClient() { //设置在webView点击打开的新网页在当前界面显示,而不跳转到新的浏览器中 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, errorCode, description, failingUrl); wView.setVisibility(View.GONE); img_error_back.setVisibility(View.VISIBLE); } }); btn_refresh.setOnClickListener(this); } @Override public void onClick(View v) { wView.loadUrl("http://www.baidu.com"); img_error_back.setVisibility(View.GONE); wView.setVisibility(View.VISIBLE); } }
3. サンプルコードのダウンロード:
WebViewDemo8.zip: WebViewDemo8.zip をダウンロード
このセクションの概要:
うーん、とてもシンプル 1 つのセクション、ははは、とてもシンプルですね。さらに、さまざまなエラー コードに応じてさまざまなエラー コードを設定することもできます。 ページ ~ ここで展開しましょう。WebView の基本的な学習はここで終わりです。次のセクションからネットワーク プログラミングを始めます。 難点の 1 つは、ソケット ネットワーク プログラミングです。もちろん、以前に学習したことがあれば、Xiaozhu がその方法を教えてくれます。 ソケット〜乞うご期待〜絵文字を投稿しないのは慣れてないよ、笑〜ありがとう〜