移动开发
手写RxJava简易框架领悟RxJava的美秒
RxJava笔记
前言
看此篇之前最好知道RxJava的使用。由于RxJava内部源码实现有点复杂,既然用拆轮子的方式来分析源码比较难啃,不如换种方式,以造轮子的方式,将源码中与性能、兼容性、扩展性有关的代码剔除,只留下核心代码,加上我个人的理解,带大家揭秘RxJava的实现原理(本文不涉及框架的使用介绍)。
一、构建观察者类
Subsribler在RxJava里面是一个抽象类,它实现了Obs
高效管理远程服务器Termius for Mac 保姆级教程
以下是 Termius for Mac 保姆级教程,涵盖安装配置、核心功能、实战案例及常见问题解决方案,助你高效管理远程服务器(如Vultr、AWS等)。一、Termius 基础介绍1. Termius 是什么?
跨平台SSH客户端:支持Mac、Windows、iOS/Android࿰
android studio模块化之模块划分简易版
模块也好,组件也罢,都是需要做好模块区分的。
一、新建module
修改你的模块名,比如你原来的包名是aaa.bbb.ccc,那么模块名就会是aaa.bbb.模块名
二、统一依赖
当我们建立好的module之后,发现主项目app和mudole各自的build.gradle文件都有一些相同的依赖,这个这个时候,需要进行管理,避免混乱。
一些相同的依赖
LifeCycle详解
LifeCycle的由来
解耦是为了解决传统开发某块臃肿,以达到代码量平衡、优雅、易扩展。由于Android大部分开发需要感知组件的生命周期,在对应生命周期中做对应的工作,故原始的做法就是在Activity、Fragment、Service等生命周期回调中增加相应的处理代码,这样导致Activity等组件十分臃肿、难以做扩展。LifeCycle的出现就是在外面实现对这些组件生命周期的感知能力,减
【android bluetooth 框架分析 04】【bt-framework 层详解 7】【AdapterProperties介绍】
前面我们提到了 蓝牙协议栈中的 Properties , 这篇文章是 他的补充。【android bluetooth 框架分析 04】【bt-framework 层详解 6】【Properties介绍】在 AOSP(Android Open Source Project)中,AdapterProperties 是一个 Java 层类ÿ
自定义Chronometer实现定时器
前言
在Android开发过程中,计时控件是经常回使用到的,在Android控件库中有一个能快捷实现计时功能的控件,它就是Chronometer,今天我们基于它自定义实现一个方便调用的计时控件TimeChronometer。
今天涉及知识有:
Chronometer常用方法
TimeChronometer在Activity中使用
效果图和项目结构图
TimeChronometer源码
一
一文搞懂Glide,不懂来打我
1、什么是Glide?
1.1、官方描述
Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。
Glide 支持拉取,解码和展示视频快照、图片和GIF动画。Glide的Api灵活易用,开发者可以插入和替换成自己喜爱的任何网络栈。默认情况下,Glide使用的是一个
SnapKit源码分析
SnapKit源码分析
Snapkit版本:5.6.0
1. 给谁做约束
ConstraintView:对iOS而言是UIView,对macOS而言是NSView
#if os(iOS) || os(tvOS)
public typealias ConstraintView = UIView
#else
public typealias ConstraintView = NSV