简介

AgentWeb 是一个基于的 Android WebView ,极度容易使用以及功能强大的库,提供了 Android WebView 一系列的问题解决方案 ,并且轻量和极度灵活。

使用

  • 引用依赖
 implementation 'com.github.Justson.AgentWeb:agentweb-core:v5.0.0-alpha.1-androidx' // (必选)implementation 'com.github.Justson.AgentWeb:agentweb-filechooser:v5.0.0-alpha.1-androidx' // (可选)implementation 'com.github.Justson:Downloader:v5.0.0-androidx' // (可选)
  • 布局文件
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"><data></data><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:fitsSystemWindows="true"tools:context=".ui.activity.MainActivity"><androidx.appcompat.widget.Toolbarandroid:id="@+id/toolbar"android:layout_width="match_parent"android:layout_height="wrap_content"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><TextViewandroid:id="@+id/tvTitle"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:ellipsize="end"android:lines="1"android:textColor="@color/black"android:textSize="16sp"tools:text="@string/app_name" /></androidx.appcompat.widget.Toolbar><androidx.appcompat.widget.LinearLayoutCompatandroid:id="@+id/container"android:layout_width="match_parent"android:layout_height="0dp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/toolbar" /></androidx.constraintlayout.widget.ConstraintLayout>
</layout>
  • 初始化
        val mAgentWeb = AgentWeb.with(this).setAgentWebParent(binding.container, -1, LinearLayoutCompat.LayoutParams(-1, -1)).useDefaultIndicator().setWebChromeClient(mChromeChromeClient).setWebViewClient(mWebViewClient).setOpenOtherPageWays(DefaultWebClient.OpenOtherPageWays.ASK).createAgentWeb().ready().get()mAgentWeb.urlLoader.loadUrl(URL)

或者直接访问网页

        val mAgentWeb = AgentWeb.with(this).setAgentWebParent(binding.container, -1, LinearLayoutCompat.LayoutParams(-1, -1)).useDefaultIndicator().setWebChromeClient(mChromeChromeClient).setWebViewClient(mWebViewClient).setOpenOtherPageWays(DefaultWebClient.OpenOtherPageWays.ASK).createAgentWeb().go(HOME_URL)
  • webChromeClinet设置
    private val mChromeChromeClient = object : WebChromeClient() {override fun onReceivedTitle(view: WebView?, title: String?) {binding.tvTitle.text = title}}
  • Javascript 通信
//Javascript 方法
function callByAndroid(){console.log("callByAndroid")
}

Android 端

mAgentWeb.getJsEntraceAccess().quickCallJs("callByAndroid");

AgentWeb简易使用相关推荐

  1. AgentWeb , 一个简洁易用的 Android Web 库

    转自:http://www.jianshu.com/p/c80da1c41af7 AgentWeb 介绍 AgentWeb 是一个高度封装的 Android WebView ,简单易用 , 带有进度条 ...

  2. 简易集成的MVP模块化App框架(1/3)

    前言 一直想整理一个自己app框架,现在刚好不是很忙就整理一下,尚不成熟还有待改进 大纲 1.整体结构:MVP模式+模块化 2.网络框架:Retrofit+Rxjava 3.屏幕适配方案:头条的And ...

  3. c语言通讯录打电话,C语言实现简易通讯录 | 术与道的分享

    #include #include #include #include #include #pragma warning (disable:4996) enum Contact //枚举变量 { Qu ...

  4. 怎么用python自制计算公式_手把手教你用python制作简易计算器,能够记录你使用的情况...

    话不多说,首先先看效果图,它能够记录你在使用过程中的历史,方便你查看是否有错: 接下来就仔细分析一下是如何制作的: 简易计算器 第一步:导入资源库 在过程中使用到了tkinter这个资源库,win+R ...

  5. linux系统安装deamonsync,DAEMON Sync的使用心得体会。简易版家庭云服务器!正是我要的那种...

    作为一个超级菜鸟,今天学会了自己建立一个简易的局域网云盘,以后就可以让家里人同步照片进电脑了!我的需求仅仅如此而已! (1)保证所有设备在同一局域网内.(我现在的理解就是在同一个路由器内,不知道是不是 ...

  6. list mybatis 接收 类型_基于mybatis拦截器实现的一款简易影子表自动切换插件

    近期因工作需要,小编基于mybatis拦截器开发了一款简易影子表自动切换插件,可以根据配置实现动态修改表名,即将对原source table表的操作自动切换到对target table表的操作.该插件 ...

  7. 实现分布式服务注册及简易的netty聊天

    现在很多地方都会用到zookeeper, 用到它的地方就是为了实现分布式.用到的场景就是服务注册,比如一个集群服务器,需要知道哪些服务器在线,哪些服务器不在线. ZK有一个功能,就是创建临时节点,当机 ...

  8. 使用ultraedit和cl编译器打造简易c/c++开发环境

    在visual c++下,每编写一个简单的小程序,就得生成一大串中间文件,另人十分的不爽.下面提供一个新的编写c/c++程序的方法: (1),下载utraledit-32编辑器,推荐v11. (2), ...

  9. Js+Dhtml:WEB程序员简易开发工具包(预先体验版)

    作者:lshdic   http://blog.csdn.net/lshdic/ <HTML> <HEAD> <META http-equiv='Content-Type ...

  10. 在windows程序中嵌入Lua脚本引擎--建立一个简易的“云命令”执行的系统

    在<在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎>开始处,我提到某公司被指责使用"云命令"暗杀一些软件.本文将讲述如何去模拟一个 ...

最新文章

  1. 【组队学习】【29期】1. 编程实践(数据可视化)
  2. 瓶框(bottle)架学习之模版使用
  3. linux 时钟同步 chrony 简介
  4. FISCO BCOS 2.0发布:新增群组架构克服吞吐瓶颈
  5. HDU-4417 Super Mario
  6. Ajax 生成流文件下载 以及复选框的实现
  7. 变量的比较之equals 与 == 的区别
  8. Linux学习笔记4.4-Linux重定向
  9. upper_bound( )和lower_bound()的用法
  10. java centos7 gcc编码 解决socket通信 汉字乱码
  11. 全国大学生智能汽车竞赛山东省赛区获奖队伍信息
  12. 三相桥式全控整流电路simulink仿真_变频器为什么必须整流?整流单元原理图解
  13. 中继链路trunk详解
  14. XSHELL免费版下载
  15. 天堂2mysql_天堂2单机版 L2J-som-rotm 安装全过程及常用工具 一步到位
  16. 大数据需要学习哪些技术?
  17. hadoop集群HA模式(JN+ZK)+yarn搭建
  18. 一个软件工程师的7年工作经验总结
  19. bzoj5108 数据_【Luogu5108】仰望半月的夜空(后缀数组)
  20. 80-Python_输入华氏温度转换成摄氏温度

热门文章

  1. 电脑使用ps很卡该怎么办,ps如何设置才不会卡
  2. pscc2018教程photoshop软件全套入门到精通分享
  3. (软考)系统分析师——标准化知识
  4. 从视频中提取为ppt或图片
  5. 【微信登录】APP/网站应用的微信扫码登录
  6. 缓存和数据库同步问题解决方案
  7. N33-Week 1-向日葵
  8. ubuntu安装中文输入法fcitx
  9. HP M1136 USB 连接安装驱动 提示“新设备已连接” 解决方案
  10. java时间数字转换成大写显示