学习资料
Android教学视频链接:(点击跳转)
学习笔记
本着实战的方式来学习,在了解完Android项目文件结构和作用以后,我将直接上手,根据假象的需求直接实战
Android4.4系统中 接入腾讯TBS内核
关于腾讯TBS浏览器服务
在Android开发中,Webview是一个常用的组件,用于展示网页内容。腾讯X5内核是腾讯推出的一款浏览器内核,相比于系统默认的WebView,X5内核具有更好的性能和稳定性,因此越来越多的开发者选择集成使用。
腾讯X5内核提供了com.tencent.smtt.sdk.WebView
控件,开发者可以通过这个控件来加载网页内容,并且可以通过丰富的API来实现更多定制化的功能。通过使用腾讯X5内核,开发者可以提升应用的浏览体验,同时也能够享受到腾讯持续优化和更新的服务。
快速接入腾讯TBS浏览器服务(X5内核)
一,SDK接入:
直接使用最简单的jar包方式集成:前往腾讯浏览服务中下载X5内核SDK(点我跳转到SDK下载页面)
1. 将下载的jar包复制/移动到项目模块的libs
文件夹中(无则创建)
2. 引用jar包:
如果项目使用的是Groovy DSL
来配置Gradle脚本,修改build.gradle
文件,引用jar包:
dependencies {
// 引用libs目录下所有的jar包
implementation fileTree(dir: 'libs', include: ['*.jar'])
// 其他依赖...
}
如果项目使用的是Kotlin DSL
来配置Gradle脚本,修改build.gradle.kts
文件,引用jar包:
dependencies {
// 引用libs目录下所有的jar包
implementation(fileTree("libs") { include("*.jar") })
// 其他依赖...
}
二,权限配置:
在项目模块的
AndroidManifest.xml
文件中增加如下权限:
<uses-permission android:name="android.permission.INTERNET" /><!--权限声明:访问互联网-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--权限声明:获取设备联网状态-->
三,混淆配置:
在项目模块的
proguard-rules.pro
文件中添加如下配置:
-dontwarn dalvik.**
-dontwarn com.tencent.smtt.**
-keep class com.tencent.smtt.** {
*;
}
-keep class com.tencent.tbs.** {
*;
}
四,创建使用X5内核的WebView页面:
创建一个腾讯的X5内核的
WebView
控件:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!--注意:使用"com.tencent.smtt.sdk.WebView" 而不是"WebView"-->
<com.tencent.smtt.sdk.WebView
android:id="@+id/x5_webview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
五,SDK初始化:
在App启动后尽可能早地调用初始化接口,进行内核预加载:
//初始化X5加载内核
QbSdk.initX5Environment(appContext, new PreInitCallback() {
@Override
public void onCoreInitFinished() {
// 内核初始化完成
Log.v("X5内核初始化", "内核初始化完成");
}
/**
* 预初始化结束
* 由于X5内核体积较大,需要依赖网络动态下发,所以当内核不存在的时候,默认会回调false,此时将会使用系统内核代替
* @param isX5 是否使用X5内核
*/
@Override
public void onViewInitFinished(boolean isX5) {
//内核初始化完成后检查内核是否加载成功
Log.v("X5内核加载判断", isX5 ? "X5内核加载成功" : "X5内核加载失败,使用系统内核");
}
});
//(可选) 是否允许在移动数据网络时下载内核(大小 40-50 MB)
QbSdk.setDownloadWithOutWifi(true);
六,测试使用X5内核加载显示一个网页:
//导入依赖 *注意导入com.tencent.smtt.sdk.WebView中的WebView类而不是android.webkit.WebView
import com.tencent.smtt.sdk.WebView;
//初始化X5内核(参考五) 略...
//寻找X5内核的WebView控件绑定(参考四)
WebView x5WebView = findViewById(R.id.x5_webview);
//操作x5WebView加载一个网页
x5WebView.loadUrl("https://debugtbs.qq.com/");//这里演示腾讯TBS在线调试测试地址,可以看的X5内核信息和接入状态
END:以上仅为接入TBS极简示例,详细内容可前往腾讯浏览服务查看官方接入文档和API
站长为Android新入门小白,文章写到此处时(2024/05/02)仅会创建HelloWorld空Android项目便大胆上手尝试and记录,大佬勿喷