前言 之前通过APT实现了一个简易版ARouter框架,碰到的问题是APT在每个module的上下文是不同的,导致需要通过不同的文件来保存映射关系表。因为类文件的不确定,就需...

前言 之前通过APT实现了一个简易版ARouter框架,碰到的问题是APT在每个module的上下文是不同的,导致需要通过不同的文件来保存映射关系表。因为类文件的不确定,就需...
OkHttp3官网 okhttp3的使用如下: 1.okhttp3引用--在build.gradle中增加引用 2.请求代码如下: 3.执行结果如下: 4.根据请求代码查看相...
Java注解处理器Android组件化Httphttp缓存
开启线程 线程的开启方式主要有四种:1、new一个Thread对象,start方法后,执行线程内容 2、实现Runnalbe接口的类 3、通过线程池处理线程;需要注意的是线程...
Retrofit官网 Retrofit的使用如下 1.Retrofit引用--在build.gradle中增加引用 2.定义接口 3.请求 4.结果返回值 按照源码跟读如下:...
简介:Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细的控制对象的构造流程。该模式是为了将构建复杂对象的过程和它的...
关于代理有静态代理和动态代理 静态代理:代理类通过实现与目标对象相同的接口,并在类中维护一个代理对象。通过构造器塞入目标对象,赋值给代理对象,进而执行代理对象实现的接口方法,...
ThreadLocal的场景是用来隔离各个线程的局部变量,各个线程之间的数值互不干扰。先查看个例子: 执行的结果如下: 从结果看 主线程和子线程获取的threadLocal值...
@KyleWang 不会的
RecyclerView的item中有多个EditText编辑处理数据第一步:if (holder.mEtInputsTime.getTag() != null && holder.mEtInputsTime.getTag() instance...
平时大家用的注解都是运行时通过反射机制运行处理|的注解,本篇文章讨论的是编译时处理的注解,一般用来自动生成代码的注解例如ButterKnife;如果需要使用注解处理器,引用时...
模块化是基于BaseLibrary开发,日常开发是个app,打包时是个Library;这样便于日常开发时编译快,且可以快速把模块化放入其它apk;限制就是只能有主App向各种...
Android的安全不容易做,但是可以通过第三发的安全扫码软件进行一定的安全措施还是有必要的,下面内容都是通过第三方检测提出的应该做的安全保障 敏感权限情况Android6....
需求范围并没有蔓延,而是对需求理解更深刻了,变相就是原来对需求理解不到位 聚焦于系统外的预期成果来决定需求有什么功能 聚焦于成果,即产品发布后用户能使用和感知的东西;发布计划...
1. 启动优化一般指冷启动的优化,从点击桌面的icon图标到显示页面之间的时间长短 查看启动事件;优化的可操作方法是把第三方的或者不需要马上使用的内容不要在Applicati...
android进程间通讯开发了一套Binder机制,用来进行进程间通讯; 进程间传输涉及序列化,需要区分java的Serializable接口和Android的Parcela...
执行onClick方法与否的关键在于mHasPerformedLongPress是否等于false;即长按的onLongClick是否return false;
Android View事件分发机制源码解析对于View的事件分发,涉及的有dispatchTouchEvent、onTouchEvent、onTouch、onClick为了更好的查看View的事件转发,我们先来看个d...
100ms时间范围内的意义在于如果在滑动容器内,设置为预按压状态(PFLAG_PREPRESSED),没有说不执行onClick呢;
Android View事件分发机制源码解析对于View的事件分发,涉及的有dispatchTouchEvent、onTouchEvent、onTouch、onClick为了更好的查看View的事件转发,我们先来看个d...
首先定义三个个Hander,一个在主线程的Handler,两个个在子线程的Handler 在主线程的Handler定义如下 执行后的日志如下 在子线程的Handler定义如下...
分析了关于View的事件分发后,链接是Android View事件分发,分析ViewGroup事件分发自定义一个ViewGroup 布局文件如下: 点击按钮后出发的日志如下:...