《第一行代码(第二版)》Android Studio中引入recyclerview库的正确姿势此书出版于2017年基于android7.0,是一本非常棒的android开发书籍。不过由于谷歌每年都会对android进行更新,书中有些内容时至今日难免就有些过时。
学习中遇到一个比较大的坑是3.6章《更强大的滚动控件-RecyclerView》中,Android Studio中引入support库问题,书籍出版时按照书上方法完全OK,但是在2018年5月,谷歌推出AndoriX取代了混乱的Support库。所以至此以后再下载的Android Studio默认统一使用AndroidX来管理Support库。
书中的引入方法是更改项目的build.gradle:
dependencies{
compile fileTree(dir:'libs', include:[`*.jar'])
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'
testCompile 'junit:junit:4.12'
}
使用AndroidX的正确姿势是更改项目的build.gradle如下 :
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
对比后发现其中最大的区别就是原先的Support库引入使用compile语句,而androidX使用implementation语句
最简单的办法是新建项目后,打开项目build.gradle,直接把下面这行代码复制到dependencies闭包中即可:
implementation 'androidx.recyclerview:recyclerview:1.2.1'
查看recyclerview版本
更换1.2.1即可
最后在布局文件中使用recyclerview如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id = "@+id/news_title_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"></androidx>
</LinearLayout>