android进阶4step3:Android拓展——WebView 的使用

1、WebView 是什么?


WebView 的使用

WebView 是一个基于 WebKit 引擎、展现 web 页面显示 HTML 内容的控件。

2、WebView 的作用是什么?


  • 1)显示和渲染 Web 页面
  • 2)直接显示 html 页面(网络或本地 assets 中)
  • 3)与 JavaScript 交互处理

3、WebView 如何使用?

  • 1)在 AndroidManifest.xml 中添加联网权限
<uses-permission android:name="android.permission.INTERNET"/>
  • 2)在 xml 布局中添加 WebView
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent" 
android:id="@+id/wv"
/>
  • 3)在 java 中获取实例并加载页面
WebView wv = (WebView) findViewById(R.id.wv); 

a、 加载本地 assets 中的 html 文件

wv.loadUrl("file:///android_asset/xx.html"); 

b、加载 web 资源

wv.loadUrl("http://baidu.com");

运行效果如下图:

4、WebView 的常用方法?

  • 1)设置页面支持 JavaScript
WebSettings settings = wv.getSettings();
settings.setJavaScriptEnabled(true);
  • 2)设置页面支持定位
wv.getSettings().setGeolocationEnabled(true); 

同时需要在 AndroidManifest.xml 中添加定位权限;

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

注意:如果版本是 Android6.0 以后,还需要添加运行时权限动态获取权限的封装

  • 3)如果想按下返回按钮返回上一个界面,而不是退出当前 activity,可以添加如下代码:
@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) { 
if (wv.canGoBack())
 {
wv.goBack();
return true; 
} 
else
{
System.exit(0);}
}
return super.onKeyDown(keyCode, event); 
}
  • 4)设置不加载外部的浏览器:
wv.setWebViewClient(new WebViewClient() {

@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) 
{
wv.loadUrl(request.getUrl().toString());
return true; 
}

});

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值