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