
Android 第三方开源框架
文章平均质量分 74
Android第三方开源框架
guangdeshishe
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
kotlin/java混合开发接入ARouter遇到的问题Compiler An exception is encountered, [These no module name, at ‘build.
报错信息:ARouter::Compiler An exception is encountered, [These no module name, at 'build.gradle', like : android { defaultConfig { ... javaCompileOptions { annotationProcessorOptions { arguments = [A原创 2021-08-18 19:14:54 · 4417 阅读 · 4 评论 -
ARouter使用自定义注解处理器,自动生成跳转Activity的代码,避免手动填写和管理path
ARouter使用自定义注解处理器,自动生成跳转Activity的代码,避免手动填写和管理path原创 2022-08-06 15:25:53 · 1086 阅读 · 0 评论 -
Retrofit源码分析&小结
Retrofit是对Okhttp网络请求的二次封装,通过注解+动态代理的方式,简化了Okhttp的使用,使得通过简单的配置就可以像调用接口一样去请求网络接口;除此之外Retrofit还支持RxJava和kotlin的协程。原创 2023-04-01 21:17:45 · 1254 阅读 · 0 评论 -
OkHttp小结
用户自定义拦截器:用于普通网络请求,比如用于打印Log的拦截器重试和重定向拦截器RetryAndFollowUpInterceptor:用于请求失败或者重定向时重新发起请求,最大重新发起请求次数是20桥接拦截器BridegeInterceptor:处理请求头和响应头信息的封装缓存拦截器CacheInterceptor:用于处理请求结果缓存,判断是否使用缓存以及更新缓存等;缓存策略主要分为两种:一种存在客户端的缓存,只要缓存没过期则复用;原创 2023-04-01 21:19:31 · 1061 阅读 · 0 评论 -
Glide小结
Glide加载主要分为三个阶段,分别是在调用with、load、into方法的时候在with方法中,Glide会初始化各种资源,比如请求管理器、缓存、生命周期监听等在load方法中,会创建请求加载任务,然后封装各种请求参数在into方法中,开始真正加载图片,加载图片会先从当前活动内存中查找,没找到再从LRU内存缓存中找,最后再通过网络等原始路径去获取图片,获取到图片之后会对它进行解码转换等处理,然后会缓存到本地以及内存当中,最终显示出来。原创 2023-04-01 21:18:41 · 661 阅读 · 0 评论 -
手写Rxjava了解核心实现原理
RxJava将观察者模式运用到了极致,使得通过一些简单的操作符就可以实现诸如线程切换、过滤、转换等复杂的业务流程,并通过链式调用保持了代码的可读性和简洁性链式调用是通过在每一个操作符中都返回一个新的被观察者Observable实现每一个操作符的基本实现逻辑,都是先创建新的中间被观察者,利用这个中间被观察者从上游的被观察者获取数据,经过加工处理后,再传递给下游的观察者线程的切换本质上还是通过线程池和Handler实现其他常见操作符:map 转换事件,返回普通事件。原创 2022-10-26 05:25:22 · 986 阅读 · 0 评论 -
【greenDao】Cannot access ‘org.greenrobot.greendao.AbstractDaoSession‘ which is a supertype of
【greenDao】Cannot access 'org.greenrobot.greendao.AbstractDaoSession' which is a supertype of原创 2022-08-10 07:47:36 · 597 阅读 · 0 评论 -
Volley详解+源码分析
基于1.2.1版本github地址: https://github.com/google/volley简介简单它说,它就是谷歌官方用于更加方便发起网络请求的一个开源框架,它据有以下特点:自动调度网络请求并发请求网络(默认支持4个线程同时请求网络)支持网络数据缓存到本地(可自定义缓存策略)支持优先级设置(需要重写Request的getPriority() 方法)支持取消网络请求支持自定义网络请求方式(可改为OkHttp)默认支持返回结果类型为String/Json/JsonArray.原创 2021-09-14 11:40:01 · 822 阅读 · 0 评论 -
ARouter使用&源码小结[版本1.5.2]
简介Git项目地址:https://github.com/alibaba/ARouter官方中文ARouter详细使用教程:https://github.com/alibaba/ARouter/blob/master/README_CN.mdkotlin使用注意点:需要使用【kapt】引入注解处理器【com.alibaba:arouter-compiler:1.5.2】kapt 'com.alibaba:arouter-compiler:1.5.2'需要引入kotlin反射库impl原创 2021-08-24 16:41:49 · 1199 阅读 · 0 评论 -
kotlin 使用FastJson报错JSONException: default constructor not found
Fastjson版本号:implementation ‘com.alibaba:fastjson:1.2.69’错误信息:com.alibaba.fastjson.JSONException: default constructor not foundUser.ktdata class User(var name: String, var age: Int) {}问题分析:网上找的结果都是说对象类少了无参的构造方法,那就加上吧User.ktdata class User(var n.原创 2021-08-19 11:14:06 · 2892 阅读 · 3 评论 -
Android 模拟ButterKnife BindView注解实现绑定view(KAPT使用教程)
简单回顾一下ButterKnife使用BindView注解初始化View过程:使用注解@BindView(R.id.main_title_view),并将要绑定的id传入调用BufferKnife.bind(this)方法开始绑定其实最核心的是ButterKnife使用了APT技术,也就是Annotation Processing Tool的简称,翻译成中文就是"注解处理工具":它.........原创 2019-09-15 20:19:54 · 1808 阅读 · 0 评论 -
基于EventBus3.1.1源码分析
EventBus的使用:在分析源码前先来回顾一下EventBus怎么用的,开源地址:GitHub在app项目build.gradle中添加依赖:implementation 'org.greenrobot:eventbus:3.1.1'然后注册订阅者,官方推荐是在onStart和onStop里注册和取消注册@Override public void onStart() { ...原创 2019-09-06 17:22:58 · 291 阅读 · 0 评论