欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

安卓开发笔记(二十四):手把手教你一步步集成腾讯X5内核

程序员文章站 2022-06-23 23:37:34
1.为什么要集成腾讯 X5 浏览器内核 X5内核相对于系统webview,具有下述明显优势: 1) 速度快:相比系统webview的网页打开速度有30+%的提升; 2) 省流量:使用云端优化技术使流量节省20+%; 3) 更安全:安全问题可以在24小时内修复; 4) 更稳定:经过亿级用户的使用考验, ......

1.为什么要集成腾讯 x5 浏览器内核

  • x5内核相对于系统webview,具有下述明显优势:

1) 速度快:相比系统webview的网页打开速度有30+%的提升;

2) 省流量:使用云端优化技术使流量节省20+%;

3) 更安全:安全问题可以在24小时内修复;

4) 更稳定:经过亿级用户的使用考验,crash率低于0.15%;

5) 兼容好:无系统内核的碎片化问题,更少的兼容性问题;

6) 体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能;

7) 功能全:在html5、es6上有更完整支持;

8) 更强大:集成强大的视频播放器,支持视频格式远多于系统webview;

9) 视频和文件格式的支持x5内核多于系统内核

10) 防劫持是x5内核的一大亮点

  • 因此确实可以看到这个内核的优点是很多的,还有很多其它的优点,我也不一一解释了,现在我们来看看怎么做吧。

 

2.下载sdk

那肯定是下载官方的sdk 包啦(腾讯浏览服务-sdk下载) 我这里下载的这个:
安卓开发笔记(二十四):手把手教你一步步集成腾讯X5内核

 

3.根据sdk 提供的jar包拷贝到自己的项目下

将下载下来的文件解压,然后将后缀为jar的文件复制到自己安卓工程下的libs目录下:
安卓开发笔记(二十四):手把手教你一步步集成腾讯X5内核

注意:在把这个jar文件放置在libs文件夹之后,需要把我们的android studio当中左上方的的android视图更换为project视图,如下图所示:
安卓开发笔记(二十四):手把手教你一步步集成腾讯X5内核

然右键点击我们的jar文件,在 jar 文件上右击,调出下拉菜单 ,点击下图标注的 add as library… 选项

 安卓开发笔记(二十四):手把手教你一步步集成腾讯X5内核

选择jar 文件添加到的项目,我这里直接确定就行了: 

安卓开发笔记(二十四):手把手教你一步步集成腾讯X5内核

等待android studio 进行同步下载,配置等等

第五步:检查是否导入成功 

安卓开发笔记(二十四):手把手教你一步步集成腾讯X5内核

4.项目代码实现

 第一步.下面就是最重要的代码实现了,首先我们进行布局,在首页的布局layout的xml文件,activity_main.xml文件夹下写上我们新的webview:

<?xml version="1.0" encoding="utf-8"?>
<linearlayout 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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".mainactivity">

    <com.tencent.smtt.sdk.webview
        android:id="@+id/webview2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</linearlayout>

第二步,创建新类myapplication.java,与mainactivity.java所并列在一起

import android.app.application;
import android.util.log;

import com.tencent.smtt.sdk.qbsdk;

public class myapplication extends application {
    public void oncreate() {
        // todo auto-generated method stub
        super.oncreate();
        initx5();
    }

    /**
     * 初始化x5
     */
    private void initx5() {
        //x5內核初始化回调
        qbsdk.preinitcallback cb = new qbsdk.preinitcallback() {
            @override
            public void onviewinitfinished(boolean arg0) {
                //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
                log.d("app", " onviewinitfinished is " + arg0);
            }

            @override
            public void oncoreinitfinished() {
            }
        };
        //x5内核初始化接口
        qbsdk.initx5environment(getapplicationcontext(), cb);

    }
}

第三步.编写mainactivity.java

import android.os.build;
import android.support.v7.app.actionbar;
import android.support.v7.app.alertdialog;
import android.support.v7.app.appcompatactivity;
import android.os.bundle;
import android.view.keyevent;
import android.view.window;
import android.view.windowmanager;
import android.widget.toast;

import com.tencent.smtt.sdk.webview;

public class mainactivity extends appcompatactivity {
    private webview mwebview;

    @override
    protected void oncreate(bundle savedinstancestate) {
        super.oncreate(savedinstancestate);

        setcontentview(r.layout.activity_main);
        mwebview = (com.tencent.smtt.sdk.webview) findviewbyid(r.id.webview2);
        mwebview.loadurl("file:///android_asset/index3.html");//输入我们需要进入的网址,我这里引用的是本地网页,您也可以引用外地的,比如https://www.baidu.com
       }

只要你写好了这几部分,我们就可以完美地使用腾讯x5内核啦!!