我正在使用以下RecyclerView
:
<androidx.recyclerview.widget.RecyclerView ... />
在build.gradle
中具有以下依赖性:
implementation 'androidx.recyclerview:recyclerview:1.0.0'
,它是在Android Studio的RecyclerView
模式下单击Design
前面的下载按钮后下载的。
我在Oreo
上运行我的应用程序,它运行良好。
但是,当我在KitKat
上运行该应用程序时,该应用程序被终止,因此我将RecyclerView
及其相关源代码注释掉,然后再次运行该应用程序,这次应用程序在{{ 1}},所以我意识到问题出在KitKat
版本的RecyclerView
上。
现在我做了一些研究,发现我必须使用:
KitKat
以及以下xml标记:
implementation 'com.android.support:recyclerview-v7:28.0.0'
现在我的问题是
有什么区别<android.support.v7.widget.RecyclerView ... />
和
<androidx.recyclerview.widget.RecyclerView ... />
implementation 'androidx.recyclerview:recyclerview:1.0.0'
为哪个目的创建了哪个?在哪种情况下应该使用哪个?为什么android studio下载<android.support.v7.widget.RecyclerView ... />
implementation 'com.android.support:recyclerview-v7:28.0.0'
不支持的版本而不是下载几乎先前版本的android支持的版本?谢谢!!!
答案 0 :(得分:5)
两个RecyclerView依赖项之间有什么区别?
RecyclerView
支持库和RecyclerView
AndroidX库具有相同的用途。主要区别在于软件包名称。 AndroidX主要是重新打包和重新命名的支持库,其主要目的是简化Android开发过程。所有支持库功能仍在AndroidX中存在,但是最新功能和开发已转移到了AndroidX。但这并不意味着不赞成使用支持库。请参阅Support Library文档中的以下说明
:
注意:随着Android 9.0(API级别28)的发布,新的 支持库版本AndroidX,它是 喷气背包AndroidX库包含现有的支持库 并且还包括最新的Jetpack组件。
您可以继续使用支持库。历史文物 (那些版本为27或更早版本,并打包为android.support。*) 仍可在Google Maven上使用。但是,所有新图书馆 开发将在AndroidX库中进行。
我们建议在所有新项目中使用AndroidX库。您 还应该考虑将现有项目迁移到AndroidX。
因此,您应该为最近的项目迁移到AndroidX。
但是,当我在KitKat上运行该应用程序时,该应用程序被终止,因此我注释掉RecyclerView及其相关源代码,然后再次运行该应用程序,这次应用程序在KitKat上正常运行,因此我意识到问题出在KitKat版本的RecyclerView。
这可能是您代码中的错误,或者可能性最小的是AndroidX RecyclerView内部的错误。没有您的错误日志,我们无法找到问题。因此,您需要在问题中提供错误日志。
为哪个目的创建了哪个?在哪种情况下应该使用哪个?
对于新项目,您应该迁移到AndroidX。但对于紧密依赖需要支持库作为依赖项的库的旧项目,您需要执行以下操作之一:
android.enableJetifier
中使用gradle.properties
,请参阅Migrating to AndroidX