1

I am currently reading up on the Android Support Libraries (I am aware of Jetpack/AndroisX, but can't use them yet).

I understand that v7 depends on v4, so with adding v7 I get v4 and what comes with v7. What I don't understand are the other v<number> like v8, v13. Do they extend v7? In general, if I start a new application with Android Support Libraries, would I use the highest v<number> or still v7?

4

1 回答 1

2

您应该将 v4、v7、v13 视为库的名称,而不是实际的“版本”。从某种意义上说,它们只是库的名称。

每个 Android 支持库都有自己的一组子库。这些子库可以在一个库(例如 v7)中找到,因此,您不能只使用最高编号(如果您尝试使用 v13,则会出现错误)。

CardView例如。您将其添加到您的项目中com.android.support:cardview-v7:28.0.0。它仅在 v7 库中找到。如果您尝试通过 导入com.android.support:cardview-v13:28.0.0,则会收到错误消息。

一些类可以在多个库中找到(例如Fragments)。它们可以在 v4 和 v13 中找到。但是,这些类中的每一个都有不同的实现。因此,您应该根据您的项目/需要使用 v4 或 v13。您不需要简单地使用最高数字,因为它们只是名称......不是实际版本。

例如,如果您简单地使用 v13,您将不会获得 v7 子库,因为 v13 库不依赖于 v7 库。

于 2019-12-11T20:56:18.077 回答