自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 超详细从零开始写组件化路由框架

路由框架前言一、路由框架是什么?二、实现步骤1.路由类Route编写2.编写注解和注解处理器3.注册注解处理器4.使用注解处理器5.调用生成好的类进行注册总结TOC前言组件化通讯工具有很多,比如出名的ARoute,那么它是怎么实现的呢?本期是借鉴相关的路由框架,写一个简单的路由一、路由框架是什么? 路由框架是为了在组件化开发中,各个组件之间通讯的桥梁。因为组件化过程中,各个组件是相互隔离的,所以我们在A组件类调用B组件类的时候,必须将B组件的类加载进入内存之中。加载内存的工作是要交给壳模块去实

2021-03-10 19:57:15 441

原创 Handle初解,看完你就懂了handle

文章目录前言一、Handle是什么?二、Handle有啥用呢?1.传递消息到ui线程2.代码示例3注意点最后前言提示:看完本篇,你可以了解到Handle的相关知识与常见的误区提醒一、Handle是什么?我们查看一下谷歌官方对其的定义:A Handler allows you to send and process {@link Message} and Runnableobjects associated with a thread’s {@link MessageQueue}. Each

2020-12-03 19:55:42 4848 1

原创 PopupWindow位置控制showAtLocation解析

一、showAtLocation解析很多开发者都有使用过PopupWindow,奈何当前论坛很少有正确且全面的解析,关于showAtLocation都是抄袭前篇一律,所以趁着闲暇时间写这篇文章,希望能够记录并且更好得帮助使用PopupWindow。下面先上源码可看到showAtLocation接收4个参数,第一个参数是parent,其作用就是获取parent所在view的token,然后通过内部的binder机制传递token与WMS进行交互,目的很简单,就是确定在当前parent所对应的在WMS的

2021-10-10 13:42:41 5986

原创 RXJava常用流程解析与手写RXJava

前言现在有很多公司在用RXJava进行生产开发,但是呢,RXJava的源码过于生涩难懂,而且用法也很多,操作符也很多,因此本文手写一个精简版的RXJava,希望能够一起去探索,RXJava在安卓中的奥妙!注意:本篇读者需要对RXJava有一定的使用经验与对RXJava调用过程有一定的理解一、RXJava常用写法 io.reactivex.rxjava3.core.Observable.create(new ObservableOnSubscribe<String>() {.

2021-04-27 13:01:23 379

原创 LiveData解析和项目遇到的问题记录

文章目录前言一、LiveData源码解析二、实战细节前言这几天写项目遇到了关于LiveData的问题,就想记录下来,顺便解析一下LiveData一、LiveData源码解析1.LiveData为我们提供了对于数据的感知功能,能够在当数据改变的时候通过观察者模式去更新相应的数据。接下来我们来看一下源码:public abstract class LiveData<T> { @SuppressWarnings("WeakerAccess") /* synthetic acces

2021-03-20 15:48:36 377

原创 Android多线程的几种实现方式

提示:本文不涉及多线程框架,只采用安卓原生提供的多线程技术去实现多线程处理1、通过继承Thread类或者实现Runnable接口去实现 class TheadTask extends Thread{ @Override public void run() { Log.d("MainActivity","TheadTask is running"); } } class ThreadRunnable impleme

2020-10-01 12:14:36 1413 1

原创 magicindicator的使用详解

前言标题与ViewPage联动使用,是一个App经常要实现的交互过程,在当前有很多实现该该过程的框架,今天我们来学习一下其中最火的magicindicator一、magicindicator能做什么示例:废话不多说,如下图所示二、如何配置使用magicindicator1在gadle里面配置依赖implementation 'com.github.hackware1993:MagicIndicator:1.5.0'配置好之后我们看一下magicindicator需要哪些步骤1、找到m

2020-09-18 16:11:52 12340 3

原创 运用UILoader处理UI异常流显示

在一个成熟的安卓项目中,我们需要时刻关注app的运行状态,并且根据状态显示相应的UI界面,必须网络中断,内容为空等等。因此一个好的UILoader界面非常重要,下面通过一个简单的例子定义一个UILoader一、UILoader是什么?1、UILoader是app运行状态的结果集,在数据流异常的时候可以做到及时展示,通过实现里面的方法,也可以自定义实现相关的调用ui显现。一般有以下状态:网络错误(点击重试),内容为空,正在加载,成功加载等状态,如下图fragmet_error_viewfragm

2020-09-18 12:37:49 324

原创 关于安卓Retrofit的基本使用

1.前言在okhttp框架中,我们可以大幅度简化网络的请求,实现基本的网络数据传输操作,但是安卓开发的前辈们感觉还不够简单,因此开发出了retrofit来实现通过注解的方式去实现相关的网络请求。2....

2020-09-11 16:32:06 452

原创 关于okhttp框架的基本使用

关于okhttp框架的基本使用(上传文件,上传参数)1、关于网络权限配置关于安卓(27以上)http访问的配置访问为https协议的话,略过即可如果在android27以上,默认是不支持Http访问的了,需要使用https,如果你要使用Http明文访问,那么需要配置一下清单文件。在清单文件,application节点,添加android:networkSecurityConfig="@xml/network_security_config"关于network_security_config文件

2020-09-08 16:54:22 253

原创 Android自定义布局-onInterceptTouchEvent事件

onInterceptTouchEvent相关操作:1、当ViewGroup的OnInterceptTouchEvent()返回 false,事件会传递给子View;2、当ViewGroup的OnInterceptTouchEvent()返回 true,事件会被自己的onTouchEvent接手; 在我们编写自定义布局的时候,可能出现以下场景:如自定义广播图:假设我们的操作有:点击图片进入与滑动界面,不处理的话滑动操作就会被子View给消费。 ...

2020-08-27 14:48:46 681

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除