何以解忧
何以解忧
发布于 2024-04-29 / 201 阅读
0
0

安卓入门-学习笔记

学习资料

Android教学视频链接:(点击跳转)

学习笔记

本着实战的方式来学习,在了解完Android项目文件结构和作用以后,我将直接上手,根据假象的需求直接实战


Android4.4系统中 接入腾讯TBS内核

关于腾讯TBS浏览器服务

在Android开发中,Webview是一个常用的组件,用于展示网页内容。腾讯X5内核是腾讯推出的一款浏览器内核,相比于系统默认的WebView,X5内核具有更好的性能和稳定性,因此越来越多的开发者选择集成使用。

腾讯X5内核提供了com.tencent.smtt.sdk.WebView控件,开发者可以通过这个控件来加载网页内容,并且可以通过丰富的API来实现更多定制化的功能。通过使用腾讯X5内核,开发者可以提升应用的浏览体验,同时也能够享受到腾讯持续优化和更新的服务。

快速接入腾讯TBS浏览器服务(X5内核)

一,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记录,大佬勿喷


更多笔记 未完待续....


评论