zoukankan      html  css  js  c++  java
  • 安卓开发笔记(二十四):手把手教你一步步集成腾讯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内核啦!!

  • 相关阅读:
    数组的一些经典案例(循环)(max=score[0])(冒泡)(flag标志)(杨辉三角)
    冒泡排序
    C语言之数组
    循环结构的一些案例:倒等腰三角形、菱形、暴力破解
    break和contine关键字
    循环嵌套(打印*** ***)
    循环的经典案例(李白买酒)
    C语言循环结构-while/do...while/for--逢3过,阶乘,九九乘法表
    WordPress部署踩坑记
    Symbol
  • 原文地址:https://www.cnblogs.com/geeksongs/p/10680369.html
Copyright © 2011-2022 走看看