android之webview无网络情况下简单处理
来源:互联网 发布:怎么投诉淘宝客服人员 编辑:程序博客网 时间:2024/05/01 08:58
android的webview是如何使用的网络上一搜索就是一大页面的资料。通常我们通过webview来访问web页面都是在网络的情况下,一旦没有网络就会显示"无法找到该网页"的信息,这样会暴露我们的连接,所以我们需要一个有好的提示,并且不会暴露链接的方法。这时候WebViewClient的onReceivedError方法就派上了用场!废话不多说直接上代码。
1、创建android的工程,编写main.xml布局代码
2、编写activity代码
代码就是这样的,以上的代码只是做个笔记,存在很多不足的地方,希望大家能够根据具体情况进行处理。
上面代码中,loadData显示中文可能会出现乱码的情况。解决办法如下
无网络时候或网络出错的情况!
1、创建android的工程,编写main.xml布局代码
01
<RelativeLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
02
xmlns:tools=
"http://schemas.android.com/tools"
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
26
mWebView.loadUrl(
"http://www.baidu.com"
);
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"
);
//设置默认的显示编码
无网络时候或网络出错的情况!
0 0
- android之webview无网络情况下简单处理
- android webview无网络情况下的处理
- android webview 缓存无网络
- webview无网络或错误处理
- git-->进一步学习无网络情况下
- 无网络情况下 如何安装GCC
- Android网络编程之WebView
- android:WebView在没有网络情况下,点击当前页面内链接不跳转并弹出提示框
- H5页面打开android本地照册,当webview页面被系统回收的情况下,如何处理图片
- 74 Android WebView (四) webview的一些简单处理
- ubuntu下面无网络的情况下安装 emacs
- 设置无网络连接情况下的虚拟机ssh访问
- ubuntu下面无网络的情况下安装 emacs
- EGORefreshTableHeaderView在无网络情况下的使用问题
- 无网络或无线网络情况下本地主机连接虚拟机
- 无网络或无线网络情况下本地主机连接虚拟机
- android webview 缓存以及无网状态显示处理
- Android cmwap网络方式下使用 webview
- 2014真正实现无需跑包,无需pin,10分钟连破10个网实战教程(包含视频语音教程)
- c#实现excel拟合函数
- 高通平台下安卓opencl小例子
- 欢迎您在新浪博客安家
- 黑马程序员_vs2010解决方案不见了怎么办?
- android之webview无网络情况下简单处理
- MapReduce 过程详解
- android 如何预置APK
- webview学习记录(有比较详细的代码注释)
- 淡墨轻舞,心若尘香
- 工作中的日常遇到的问题
- 2014真正实现无需跑包,无需pin,10分钟连破10个网实战教程(包含视频语音教程)
- 小米平板妄想挑战苹果,劲敌实为联想
- 淡墨轻舞,心若尘香