重新认识下hashCode和equals
前言 关于equals以及hashCode相关知识网上已经非常非常多了,最近在看到这篇博文的时候总感觉还是少了些,故自己写了一些测试代码,然后总结一下到底这两个有什么相同点以及不同点。 equals equals方法是用来比较两个对象是否相等,一...
前言 关于equals以及hashCode相关知识网上已经非常非常多了,最近在看到这篇博文的时候总感觉还是少了些,故自己写了一些测试代码,然后总结一下到底这两个有什么相同点以及不同点。 equals equals方法是用来比较两个对象是否相等,一...
前言 在Android 5.0之前,我们可以使用overridePendingTransition来改变Activity的过渡动画,在5.0以后,Google为我们添加了共享元素动画等新的过渡动画,为了简化开发者的适配,Google推出了ActivityOptionsCompat,通过ActivityOpti...
Android遇见tools 我们在xml布局中,所有的android:XXX都可以替换为tools:XXX RecycleView遇见tools 1、指定item个数 tools:itemCount="4" 2、指定使用的GridLayoutManager //指定使用GridLayoutManager tools:layoutManage...
前言 有时候我们需要为app中的http网络请求添加一些通用参数,比如当前应用版本、某些key值等,一般来说我们都会使用OkHttp的拦截器进行操作,所以下面就简单介绍下如何实现 实现 首先我们得知道参数一般都在哪里。对于GET请求,参数...
前言 在我们进行组件化开发的时候,最需要解决的就是组件间通信,一般来说,我们一般将一个组件分为两个工程,一个只包含组件对外提供的接口另一个则是实现,当然,为了彻底解耦,我们应该让外部调用者完全感知不到实现,在开发时候时...
前言 日常开发中我们经常需要使用三方库,一般来说三方库都是托管在jcenter等上面,我们只需要一句话即可进行引用,下面就介绍下引用原理以及将自己的代码打包上传等。 上传到本地 maven仓库其实就是一个遵循特定目录结构的文件夹而已...
Stetho介绍 Stetho是facebook推出的一个Android调试框架,可以在Google浏览器上面轻松查看应用的数据库、Sp、网络请求、UI等信息。 项目地址:https://github.com/facebook/stetho //必须引用 implementation 'com.facebook.stetho:st...
我们知道想要给RecycleView添加一条分割线需要使用 mRecycleView.addItemDecoration()添加,Android为我们提供了类似于ListView默认分割线的DividerItemDecoration,我们将其添加到RecycleView即可得到分割线,下面就参考DividerItemD...
前言 一个Activity持有一个PhoneWindow,PhoneWindow中就有我们今天的主角-DecorView,通过下图可以很明白的看到其地位。总的来说,DecorView就是我们设置的布局的最外层的布局,我们通过setContentView设置的布局只是DecorView的子布...
我们做项目的时候会用到很多库,不论是三方库还是二方库,又或者是自己写的,不可避免的会要去初始化它们,一方面是因为库中会需要使用Context进行一些操作,比如startActivity,又或者getResource;另一方面在初始化的时候我们可以传...