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

  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下载) 我这里下载的这个:

 

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

将下载下来的文件解压,然后将后缀为jar的文件复制到自己安卓工程下的libs目录下:

注意:在把这个jar文件放置在libs文件夹之后,需要把我们的android studio当中左上方的的android视图更换为project视图,如下图所示:

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

 

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

等待Android Studio 进行同步下载,配置等等

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

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内核啦!!

 

posted @ 2019-04-09 22:40  Geeksongs  阅读(...)  评论(...编辑  收藏

Coded by Geeksongs on Linux

All rights reserved, no one is allowed to pirate or use the document for other purposes.