Android
冰封砺雪
优胜劣汰,适者生存,唯有强者,生生不息。
展开
-
ERROR: Failed to resolve: jsr305
今天在开发的时候,导入一个module,然后莫名其妙报了这是什么鬼问题???看起来好像是依赖库问题,全局搜索后,没有任何关于jsr305的引用。。。。上网查了下,是com.google.code.findbugs:jsr305,这玩意用来检查错误用的,可是为什么报错也没人提到最诡异的是,既然是因为导入module出错,那我就把module删掉好了,结果把module删除完了还报错????...原创 2020-01-08 16:54:37 · 1182 阅读 · 0 评论 -
MVVM模式下RecyclerView与databinding的结合(2)
Demo地址https://github.com/linqinen708/MyDatabindingRecyclerView很早以前,写过一篇文章MVVM模式下RecyclerView与databinding的结合讲述了如何通过封装RecyclerView和谷歌的Databinding的结合,后来在开发中,逐渐发现其不完善的地方,于是自己通过不断摸索和优化,使其具备下拉刷新和上拉加载功能...原创 2020-01-02 17:33:42 · 2963 阅读 · 0 评论 -
RecyclerView 自带的上拉加载更多
RecyclerView 大家肯定很熟悉,平常使用的时候也难免会遇到下拉刷新和上拉加载更多,网上相关的控件也是多如牛毛。我特别期待谷歌什么时候能够自己开发一个,可惜一直到现在,也只有一个SwipeRefreshLayout下拉刷新控件,上拉加载连个影子都没。。。如果不想使用第三方的控件,又想有上拉加载更多功能怎么办呢?于是上网查了相关资料,发现RecyclerView有一个监听方法addOnSc...原创 2020-01-02 17:27:48 · 4246 阅读 · 0 评论 -
谷歌的databinding常见用法
谷歌的databinding非常好用,但是前提你得熟悉各种用法,否则坑很多,很容易从入门到放弃。后来在实际开发中,碰到很多问题,经过自己的探索和修改,逐渐提升了对databinding的熟练度,下面我会额外讲解其常见用法强烈建议封装在自己的ViewModel中再使用,既方便管理,也符合规范1.常见的TextView的文字加载非常简单如果需要直接拼接一些文字,则需要特殊的单引号 andro...原创 2019-12-24 11:53:07 · 946 阅读 · 0 评论 -
Databinding中ImageView的用法和坑(Java和Kotlin),附带Glide用法
Databinding相信开发过Android的人肯定不陌生,极大的简化了代码量,而且易于维护,不过中间的坑也是很多的,尤其是对于很多新手来说,如果用错了,简直可以用“一脸懵逼”来形容,因为databinding根本不会告诉你xml中的错误错在哪,不过studio3.4之后貌似有了错误的提示,比如哪个参数没找到之类的,不过还是没有像普通的代码一样能够直接提示到第几行。。。 TextView...原创 2019-08-06 15:10:30 · 4654 阅读 · 1 评论 -
桌面小工具以及AppWidgetProvider和RemoteViews的简单应用(兼容8.0和9.0)
前段时间写代码,无意间看到了RemoteViews这个类,觉得挺陌生的,于是上网查资料,发现是一个可以改变通知栏和桌面小工具的布局的控件,于是开始研究桌面小工具,虽然代码很简单,但是坑超级多,而且网上的资料不是很全,很多都没有兼容8.0和9.0,下面我附上亲测有效的代码和demo。桌面小工具(线程Thread版)https://github.com/linqinen708/MyAppWidget...原创 2019-03-25 13:59:40 · 857 阅读 · 0 评论 -
Android Studio 升级到3.0后出现编译错误\.gradle\caches\transforms-1\files-1.1\*****-release.aar
Android Studio 升级到3.0后出现各种编译问题,其中有一个问题是关于资源找不到的问题,百度了半天,也没有相关的文章C:\Users.gradle\caches\transforms-1\files-1.1***-release.aar\be5ab119cbd836d03696974a1ba79815\res\values\values.xml最后上网查了半天,终于找到一个类似原创 2018-01-22 15:33:58 · 17138 阅读 · 2 评论 -
Android Studio 升级到3.0后出现编译错误Error:Cannot choose between the following configurations of project
前段时间将Android Studio 升级到3.0后,原本一切正常的项目出现编译错误Error:Cannot choose between the following configurations of project :**: - debugApiElements - debugRuntimeElements - releaseApiElements - relea原创 2018-01-22 14:29:46 · 6471 阅读 · 1 评论 -
MVVM模式下RecyclerView与databinding的结合
如果不知道databinding的小伙伴,建议去了解下,非常实用,尤其是与RecyclerView等控件结合的时候,方便快捷,爱不释手。首先看一下,传统RecyclerView和Adapter如何设置及处理数据的RecyclerView recyclerView = dataBindingBinding.recyclerView; recyclerView.setLay原创 2018-01-11 18:16:04 · 10706 阅读 · 7 评论 -
关于RecyclerView添加HeaderView和FooterView
RecyclerView自己用了很长一段时间,如今基本不怎么使用ListView了,用过RecyclerView的小伙伴都知道,它的很多功能都需要自定义,比如item的点击事件,还有添加HeaderView和FooterView等等。高度的自定义使它受到众多Android码农的喜爱。网上也出现了很多封装好的RecyclerView,可以轻松的添加各种需要的事件。自己出于探索的好奇,也仔细研究了下关原创 2018-01-11 15:27:02 · 6387 阅读 · 0 评论 -
一些Android的面试题及答案(偶尔更新)
热修复 (1)原理:在dex文件中,每个element对应的就是dex文件,所以加载class就是从一个个dex文件中找到对应的code。一旦加载成功后,就直接return。所以,如果2个dex含有相同的class,会先返回前面那个。使用一个新的dex,让 它在element文件表的最前面,这样我们修改的class文件就会被首先加载进来。从而达到替换之前代码的目的。 (2)方案:把有问题的类原创 2017-03-07 12:56:47 · 341 阅读 · 0 评论 -
使用dataBinding出现Warning:Using incompatible plugins for the annotation processing: android-apt.
在使用dataBinding时,Android Studio出现警告Warning:Using incompatible plugins for the annotation processing: android-apt. This may result in an unexpected behavior. 然后编译文件时,报错databinding不存在上网stackoverflow在查了原创 2017-09-27 11:12:20 · 1163 阅读 · 0 评论 -
使用SwipeToLoadLayout解决RecyclerView的上拉下拉刷新
SwipeToLoadLayout是一个非常好用的开源控件,可以支持本身能够滑动的控件,比如ListView、ScrollView、RecyclerView、GridView,还可以支持其他WebView,Linearlayout,RelativeLayout,FrameLayout,ImageView,TextView等不能滑动的控件的刷新和加载。 网上关于SwipeToLoadLayout的使原创 2017-09-14 13:51:26 · 4569 阅读 · 0 评论 -
EditText 部分常见属性的介绍
1.设置EditText明文切换方法1:EditText mEditText;if (mEditText.getInputType() == InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD) {/*隐藏密码 TYPE_CLASS_TEXT 和 TYPE_TEXT_VARIATION_PASSWORD 必须一起使用*/ mEditText.setIn原创 2017-04-13 11:48:29 · 361 阅读 · 0 评论