android之webview無網路情況下簡單處理
1、建立android的工程,編寫main.xml佈局程式碼
03 |
android:layout_width= "match_parent" |
04 |
android:layout_height= "match_parent"
> |
05 |
06 |
<WebView
|
07 |
android:id= "@+id/webview" |
08 |
android:layout_width= "fill_parent" |
09 |
android:layout_height= "fill_parent"
/> |
10 |
11 |
</RelativeLayout> |
2、編寫activity程式碼
01 |
package com.xzw.test.webview;
|
02 |
03 |
import android.os.Bundle;
|
04 |
import android.app.Activity;
|
05 |
import android.graphics.Bitmap;
|
06 |
import android.util.Log;
|
07 |
import android.view.Menu;
|
08 |
import android.webkit.WebView;
|
09 |
import android.webkit.WebViewClient;
|
10 |
11 |
public class
MainActivity extends
Activity { |
12 |
13 |
private
static final
String TAG = MainActivity. class .getSimpleName();
|
14 |
15 |
private
String errorHtml = "" ;
|
16 |
WebView mWebView;
|
17 |
18 |
@Override |
19 |
public
void onCreate(Bundle savedInstanceState) {
|
20 |
super .onCreate(savedInstanceState);
|
21 |
setContentView(R.layout.activity_main);
|
22 |
errorHtml =
"<html><body><h1>Page not find!</h1></body></html>" ;
|
23 |
mWebView = (WebView) findViewById(R.id.webview);
|
24 |
mWebView.getSettings().setJavaScriptEnabled( true );
|
25 |
27 |
Log.i(TAG,
"--onCreate--" ); |
28 |
29 |
//設定web檢視的客戶端
|
30 |
mWebView.setWebViewClient( new
MyWebViewClient()); |
31 |
}
|
32 |
33 |
34 |
@Override |
35 |
protected
void onResume() { |
36 |
37 |
super .onResume();
|
38 |
Log.i(TAG,
"--onResume()--" );
|
39 |
}
|
40 |
41 |
public
class MyWebViewClient extends
WebViewClient{ |
42 |
43 |
@Override |
44 |
public
boolean shouldOverrideUrlLoading(WebView view, String url) {
|
45 |
Log.i(TAG,
"-MyWebViewClient->shouldOverrideUrlLoading()--" );
|
46 |
view.loadUrl(url);
|
47 |
return
true ; |
48 |
}
|
49 |
50 |
@Override |
51 |
public
void onPageStarted(WebView view, String url, Bitmap favicon) {
|
52 |
Log.i(TAG,
"-MyWebViewClient->onPageStarted()--" );
|
53 |
super .onPageStarted(view, url, favicon);
|
54 |
}
|
55 |
56 |
@Override |
57 |
public
void onPageFinished(WebView view, String url) {
|
58 |
Log.i(TAG,
"-MyWebViewClient->onPageFinished()--" );
|
59 |
super .onPageFinished(view, url);
|
60 |
}
|
61 |
62 |
63 |
@Override |
64 |
public
void onReceivedError(WebView view,
int errorCode, |
65 |
String description, String failingUrl) {
|
66 |
super .onReceivedError(view, errorCode, description, failingUrl);
|
67 |
68 |
Log.i(TAG,
"-MyWebViewClient->onReceivedError()--\n errorCode=" +errorCode+ " \ndescription=" +description+ " \nfailingUrl=" +failingUrl);
|
69 |
//這裡進行無網路或錯誤處理,具體可以根據errorCode的值進行判斷,做跟詳細的處理。
|
70 |
view.loadData(errorHtml,
"text/html" , "UTF-8" );
|
71 |
72 |
73 |
}
|
74 |
}
|
75 |
} |
程式碼就是這樣的,以上的程式碼只是做個筆記,存在很多不足的地方,希望大家能夠根據具體情況進行處理。
上面程式碼中,loadData顯示中文可能會出現亂碼的情況。解決辦法如下
1 |
mWebView.getSettings().setDefaultTextEncodingName( "UTF-8" ); //設定預設的顯示編碼
|
無網路時候或網路出錯的情況!
相關推薦
android之webview無網路情況下簡單處理
android的webview是如何使用的網路上一搜索就是一大頁面的資料。通常我們通過webview來訪問web頁面都是在網路的情況下,一旦沒有網路就會顯示"無法找到該網頁"的資訊,這樣會暴露我們的連線,所以我們需要一個有好的提示,並且不會暴露連結的方法。這時候WebVie
android webview無網路情況下的處理
import com.yck.utils.diy.LoadingDialog; import com.yck.utils.net.HttpUrl; import com.yck.utils.tools.MyLog; import android.content.Dialo
ORACLE11gR2-RAC之OCR無備份情況下損壞恢復
OCR損壞情景介紹:做OCR備份恢復實驗,OCR有4份自動備份。將OCR磁盤從+DATA替換為+OCR2(/dev/raw/raw4) 完成之後使用ocrconfig -manualbackup手動備份OCR,完成之後對/dev/raw/raw4執行dd操作。關閉集群,啟動集群,發現集群不能啟動。 問題分析
Kali Linux ——在無網路情況下安裝無線網絡卡驅動
1、背景: 今日剛剛開始學習kali linux,眾所周知,安裝完成後,系統是沒有無線網絡卡驅動的,這就對學生黨造成相當的困擾:校園網要連線有線是需要認證客戶端的,而認證客戶端只有windows端,如此一來,無線網也連不上,有線網也連不上,這就......很尷尬。 因此我走訪各大部落格,雖然沒能直接解
【Docker】CentOS7 上無網路情況下安裝
自建虛擬機器,但是連線不上網路,只能通過下載rpm包進行安裝docker 環境:CentOS 7.3.1611 x64 在這裡能找到想要的docker相關的所有包 我這裡只下載了三個包。分別是 docker-ce-selinux-17.03.1.ce-0.1.rc
linux 修改yum源 在無網路情況下使用yum下載
百度地址https://jingyan.baidu.com/article/d2b1d102b8b0825c7f37d46b.html[local] name=Instructor Server Repository baseurl=file:///var/yum/
android 應用在網路非常差的情況下的處理
app在無網路情況下非常好判斷,但是當網路很差,但是又有連結就不好辦了。使用的retrofit+rxJava,自定義了一個subscribe就可以很好的處理網路差的情況public class MySubscrible<T> extends Subscriber&
Android : WebView無網路時的圖片顯示解決方案
需求場景:必須在已經構建快取的基礎之上,否則資料都無法正常顯示,何談圖片呢? 接下來直接上程式碼嘍,小夥伴們如果有更好的解決方式可以隨時聯絡我哦! <WebView
Android 之WebView實現下拉重新整理和其他相關重新整理功能
最近專案中需要用到WebView下拉重新整理的功能,經過查詢資料終於完成了此功能,現在拿出來和大家分享一下。希望對大家有所幫助。 效果如下圖: 程式碼: activity.xml <?xml version="1
Android之WebView的使用樣例——WebSetting、WebViewClient、WebChromeClient
create per wid spa var ani 事件 col kuaidi100 點擊查看原文 代碼直接下載http://download.csdn.net/detail/metis100/8514837 第一步,xml Manifest中要設
CentsOS7無網情況下安裝mysql5.7
rman debug x86-64 https conda oot fma 支持 depend 1.需求就不用講了,客戶現場,政府環境,銀行環境,大多是沒網的,所以無網安裝是很有必要的 mysql下載路徑:https://dev.mysql.com/downloads/my
Android之WebView優化之路
前言 隨著app的迭代,嵌入的html5介面越來越多了,Webview這個強大元件引起的問題越發的多起來,例如: 1、WebView導致的oom問題 2、Android版本不同,採用了不同的核心,相容性crash 3、不同版本實現不同,甚至URI不規範也會引起不同程度的問題
Android之webView與js互動
一、java呼叫js操作: 1.佈局檔案: <WebView android:id="@+id/web" android:layout_width="match_parent" android:layout_height="mat
docker 無網路環境下使用docker載入映象
1. 假如由於網路原因,需要在一臺無網路的電腦上執行映象,docker是支援的。 最關鍵的是,學會使用docker的 save 命令。 你需要做的主要有3步驟: 1:先從一個有網路的電腦下載docker映象 docker pull centos 2:儲存映象到本地檔案 docker save
Android之WebView 防止呼叫系統瀏覽器開啟頁面
android在WebView中載入url,防止呼叫系統瀏覽器載入 只要重寫webView的WebViewClient 具體程式碼如下: web_adSentence.setWebViewClient(new WebViewClient() { //覆蓋
android之XListview,上拉下拉出現BUG
第一次發,不要吐槽哈 上拉載入若螢幕資料不滿會出bug;若上拉後再去下拉也會出現bug,即資料跟著手勢移動不復原 上拉載入,資料未充滿螢幕時出現bug,解決方式:在XListView中去掉onTouchEvent()方法中default下的else public boolean onTo
5.1 “無繼承”情況下的物件構造
考慮如下的程式片段: Point global; //1 Point foobar() { Point local; //2 Point* head = new Point; //3 *head = local; //stuff delete heap; //4 return l
Android之---ButterKnife-View注入框架(簡單介紹和在Studio中安裝)
ButterKnife-View注入框架(簡單介紹和在Studio中安裝) 1.簡單介紹 Butter Knife使用簡單介紹 作為一名Android開發,是不是經常厭煩了大量的findViewById以及setOnClickListener程式碼,而
Android之獲取行動網路ip
1、獲取行動網路ip 2、程式碼 public String getLocalIpAddress() { try { for (Enumeration
Android中Wifi未開啟情況下獲取Mac地址
原來以為沒有開啟wifi功能是不能夠獲取wifi網絡卡mac地址的,在真機測試後發現能夠獲取到Mac地址只是獲取的ip為0,當然wifi未連線狀態下是肯定沒有IP分配的。具體看看下面: AndroidManifest.xml程式碼: 1 Java程式碼 <