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