最近在看《第一行代码》,跟着书上的代码敲。看到第三章UI这里,练习使用RecyclerView,添加相应库的时候出现了问题。
书上是这么写的:compile 'com.android.support:recyclerview-v7:24.2.1'
跟着写上去代码提示出错,我就先把compile
改为了implementation
,于是我继续上网搜现在到了什么版本号,当时上面用的是androidx
之类的。之前还先试着拖控件的方式看看它自动添加的是什么代码,不知道为什么又不行。后来在Stack Overflow上面找到一篇回答,虽然用的还是com.android.support
后面跟一个版本号,写上去代码没提示出错了。写好其它代码后点击运行就提示“程序已停止运行”。而我又找不到问题,只好对照书上代码,几遍下来还是找不出。
之后终于找到日志,并且正确找到解决方法。
androidx与support包的关系
androidx是对android.support.xxx包整理后的产物,由于之前的support包过于混乱,所以,google推出了androidx
androidx的使用
在build.gradle中用
implementation 'android.xxx(组件名):xxx(组件名):1.0.0(版本号)'
在xml文件中应使用
<android.xxx.widget.xxx(驼峰)
...>
</android.xxx.widget.xxx(驼峰)>
比如这一节要使用RecyclerView这个控件
在build.gradle中要使用的是
implementation 'androidx.recyclerview:recyclerview:1.0.0'
在xml文件中使用
<androidx.recyclerview.widget.RecyclerView
...>
</androidx.recyclerview.widget.RecyclerView>
由于Androidx中是对于support包的整合升级,可能还需要修改组件相应代码,如recyclerView组件中,若使用还需要再Activity/fragment的代码中修改
manager.setOrientation(LinearLayoutManager.VERTICAL);
的参数LinearLayoutManager.VERTICAL
为RecyclerView.VERTICAL
总结
- 以后遇到使用控件需要添加库,就使用自动工具,拖一个相应控件让自动添加好
- Android Studio的logcat:代码未错,程序成功运行,但是logcat还是有一大堆红色语句。解决方法:右键“clear logcat”就没有了。我还一直以为每点一次运行,logcat里面的内容就会随着我点击运行时的状态来动态更新…