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是什么
空调维修
- 温岭冰箱全国统一服务热线-全国统一人工【7X2
- 荆州速热热水器维修(荆州热水器维修)
- 昆山热水器故障码5ER-昆山热水器故障码26
- 温岭洗衣机24小时服务电话—(7X24小时)登记报
- 统帅热水器售后维修服务电话—— (7X24小时)登
- 阳江中央空调统一电话热线-阳江空调官方售后电
- 乌鲁木齐阳春燃气灶厂家服务热线
- 珠海许昌集成灶售后服务电话-全国统一人工【
- 乌鲁木齐中央空调维修服务专线-乌鲁木齐中央空
- 新沂热水器故障电话码维修-新沂热水器常见故障
- 诸城壁挂炉24小时服务热线电话
- 靖江空调24小时服务电话-——售后维修中心电话
- 空调室外滴水管维修(空调室外排水管维修)
- 九江壁挂炉400全国服务电话-(7X24小时)登记报修
- 热水器故障码f.22怎么解决-热水器f0故障解决方法
- 营口热水器售后维修服务电话—— 全国统一人工