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是什么
空调维修
- 海信电视维修站 海信电视维修站点
- 格兰仕空调售后电话 格兰仕空调维修售后服务电
- 家电售后服务 家电售后服务流程
- 华扬太阳能维修 华扬太阳能维修收费标准表
- 三菱电机空调维修 三菱电机空调维修费用高吗
- 美的燃气灶维修 美的燃气灶维修收费标准明细
- 科龙空调售后服务 科龙空调售后服务网点
- 华帝热水器维修 华帝热水器维修常见故障
- 康泉热水器维修 康泉热水器维修故障
- 华凌冰箱维修电话 华凌冰箱维修点电话
- 海尔维修站 海尔维修站点地址在哪里
- 北京海信空调维修 北京海信空调售后服务
- 科龙空调维修 科龙空调维修故障
- 皇明太阳能售后 皇明太阳能售后维修点
- 海信冰箱售后服务 海信冰箱售后服务热线电话
- 海尔热水器服务热线