Android跟web哪个好,比系统自带的WebView更好用 | AgentWeb
名稱
AgentWeb
語言
Android
平臺
GitHub
作者
Justson
在混合化開發大行其道的今天,安卓開發經常會用到WebView,用于加載網頁。系統自帶的WebView性能和流暢度都一般,今天給大家推薦一款第三方WebView,性能比系統自帶的要好,功能也更多。
AgentWeb 是一個高度封裝的 Android WebView ,簡單易用 , 帶有進度條 、 支持文件上傳 、 下載 、 簡化 Javascript 通信 、 鏈式調用 、 加強 Web 安全的庫 。讓你幾行代碼集成一個輕量級瀏覽器在你的應用 。
功能
支持進度條以及自定義進度條
支持文件下載
支持文件下載斷點續傳
支持下載通知形式提示進度
簡化 Javascript 通信
支持 Android 4.4 Kitkat 以及其他版本文件上傳
支持注入 Cookies
加強 Web 安全
支持全屏播放視頻
兼容低版本 Js 安全通信
更省電 。
支持調起微信支付
支持調起支付寶(請參照sample)
默認支持定位
支持傳入 WebLayout(下拉回彈效果)
支持自定義 WebView
支持 JsBridge
優勢
AgentWeb相對于系統自帶的WebView的優勢如下。
使用方法
添加依賴
compile 'com.just.agentweb:agentweb:2.0.0'
加載網頁,以京東首頁為例:
mAgentWeb = AgentWeb.with(this)//傳入Activity
.setAgentWebParent(mLinearLayout, new LinearLayout.LayoutParams(-1, -1))//傳入AgentWeb 的父控件 ,如果父控件為 RelativeLayout , 那么第二參數需要傳入 RelativeLayout.LayoutParams ,第一個參數和第二個參數應該對應。
.useDefaultIndicator()// 使用默認進度條
.defaultProgressBarColor() // 使用默認進度條顏色
.setReceivedTitleCallback(mCallback) //設置 Web 頁面的 title 回調
.createAgentWeb()//
.ready()
.go("http://www.jd.com");
不用配置 Setting , 不用添加 WebChromeClient 就有進度條 。
使用
安卓調用JavaScript方法:
//Javascript 方法
function callByAndroid(){
console.log("callByAndroid")
}
//Android 端
mAgentWeb.getJsEntraceAccess().quickCallJs("callByAndroid");
//結果
consoleMessage:callByAndroid lineNumber:27
JavaScript調用安卓方法:
//Android 端 , AndroidInterface 是一個注入類 ,里面有一個無參數方法:callAndroid
mAgentWeb.getJsInterfaceHolder().addJavaObject("android",new AndroidInterface(mAgentWeb,this));
//在 Js 里就能通過
window.android.callAndroid() //調用 Java 層的 AndroidInterface 類里 callAndroid 方法
跟隨 Activity 或者 Fragment 生命周期 , 釋放 CPU和資源, 更省電 。方法如下:
@Override
protected void onPause() {
mAgentWeb.getWebLifeCycle().onPause();
super.onPause();
}
@Override
protected void onResume() {
mAgentWeb.getWebLifeCycle().onResume();
super.onResume();
}
如果你更喜歡騰訊X5內核 ,請切換到這個倉庫AgentWebX5。更多功能使用,請訪問該項目的GitHub頁查看。
總結
以上是生活随笔為你收集整理的Android跟web哪个好,比系统自带的WebView更好用 | AgentWeb的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 锁屏界面显示某些设置已隐藏_iOS 14
- 下一篇: 异步通信在生活中的例子_AJAX简单异步