Android 中 WebView 的基本用法详解
家电修理 2023-07-16 19:17www.caominkang.com电器维修
加载 URL (网络或者本地 assets 文件夹下的 html 文件)
加载 html 代码
Native 和 Javascript 相互调用
加载网络 URL
ebvie.loadUrl(https://.baidu./);
加载 assets 下的 html 文件
ebvie.loadUrl(file:///android_asset/test.html);
加载 html 代码
// 两个代码差不多 // 偶尔出现乱码 ebvie.loadData(); // 比上面的好一些, 可以友好解决编码问题 ebvie.loadDataWithbaseURL();
网页的前进后退
// 网页是否可以后退 ebvie.canGoBack(); // 网页进行后退 ebvie.goBack(); // 网页是否可以前进 ebvie.canGoForard(); // 网页进行前进 ebvie.goForard(); // 网页是否可以前进/后退 steps 步 ebvie.canGoBackOrForard(int steps); // 网页进行前进/后退 steps 步 ebvie.goBackOrForard(int steps);
执行 JS 代码.
ebvie.loadUrl("javascript:alert('Hello orld!')");
ebvie.evaluateJavascript("javascript:alert('Hello orld!')", null);
2. 加载网页
建立一个最简单的 html 文件
WebVieActivity
package .example.hello;
import androidx.apppat.app.AppCompatActivity;
import android.os.Bundle;
import android.ebkit.WebVie;
public class WebVieActivity extends AppCompatActivity {
// 声明
private WebVie b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentVie(R.layout.activity_eb_vie);
// 获取
b = findVieById(R.id.b);
// 加载本地 html 文件
b.loadUrl("file:///android_asset/test.html");
}
}
activity_eb_vie
加载网页上的页面
package .example.hello;
import androidx.apppat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.vie.KeyEvent;
import android.ebkit.WebChromeClient;
import android.ebkit.WebResourceRequest;
import android.ebkit.WebVie;
import android.ebkit.WebVieClient;
public class WebVieActivity extends AppCompatActivity {
// 声明
private WebVie b;
@SuppressLint("SetJavascriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentVie(R.layout.activity_eb_vie);
// 获取
b = findVieById(R.id.b);
// 加载本地 html 文件
// b.loadUrl("file:///android_asset/test.html");
// 加载网页 html 文件
// 支持 JS 和 DOM
b.getSettings().setJavascriptEnabled(true);
b.getSettings().setDomStorageEnabled(true);
// 防止所有后打开默认浏览器
b.setWebVieClient(ne MyWebVieClient());
b.setWebChromeClient(ne MyWebChromeClient());
b.loadUrl("https://.baidu./");
}
@Override
public boolean onKeyDon(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && b.canGoBack()) {
b.goBack();
return true;
}
return super.onKeyDon(keyCode, event);
}
static class MyWebVieClient extends WebVieClient {
@Override
public boolean shouldOverrideUrlLoading(WebVie vie, WebResourceRequest request) {
vie.loadUrl(request.getUrl().toString());
return super.shouldOverrideUrlLoading(vie, request);
}
@Override
public void onPageStarted(WebVie vie, String url, Bitmap favicon) {
super.onPageStarted(vie, url, favicon);
Log.d("WebVieClient", "Page started...");
}
@Override
public void onPageFinished(WebVie vie, String url) {
super.onPageFinished(vie, url);
Log.d("WebVieClient", "Page Finished...");
}
}
class MyWebChromeClient extends WebChromeClient {
@Override
public void onProgressChanged(WebVie vie, int neProgress) {
super.onProgressChanged(vie, neProgress);
}
@Override
public void onReceivedTitle(WebVie vie, String title) {
super.onReceivedTitle(vie, title);
setTitle(title);
}
}
}
到此这篇关于Android 中 WebVie 的基本用法的文章就介绍到这了,更多相关Android 中 WebVie 用法内容请搜索考高分网以前的文章或继续浏览下面的相关文章电脑维修网希望大家以后多多支持考高分网!
上一篇:java环境是什么 下一篇:phantomjs是什么
空调维修
- 我的世界电脑版运行身份怎么弄出来(我的世界
- 空调抽湿是什么意思,设置抽湿的温度有什么意
- 方太燃气灶有一个打不着火 怎么修复与排查方法
- 夏季免费清洗汽车空调的宣传口号
- 清洗完空调后出现漏水现象
- iphone6能玩什么游戏(iphone6游戏)
- 如何设置电脑密码锁屏(如何设置电脑密码锁屏
- win10删除开机密码提示不符合密码策略要求
- 电脑w7显示不是正版(w7不是正版怎么解决)
- 万家乐z8热水器显示e7解决 怎么修复与排查方法
- 1匹空调多少瓦数(1匹空调多少瓦)
- 安卓手机连接电脑用什么软件好(关于安卓手机
- 电脑网页看视频卡是什么原因(爱拍看视频卡)
- 华帝燃气灶点火器一直响然后熄火怎么办:问题
- 电脑壁纸怎么换(关于电脑壁纸怎么换的介绍)
- 冬天空调的出风口应该朝什么方向(冬天空调风