移动开发

View.post()不靠谱的地方你知道多少

首先我们来看一段代码: 启动了两个模拟器 API 22 和API 26分别是安卓7.0以下和安卓7.0以上 下面我们就从源码分析他们之间的差别以及为啥造成的现象不同 首先我们来分析安卓7.0以下的源码流程: 当attachInfo为空时走的是ViewRootImpl.getRunQueue().post(action);代码  当atta

被迫开始学习Typescript —— class (有彩蛋哦)

TS 的 class 看起来和 ES6 的 Class 有点像,基本上差别不大,除了 可以继承(实现)接口、私有成员、只读等之外。 参考: 基本用法 我们可以定义一个 class,设置几个属性,然后设置一个方法,封装 Object.assign 简化reactive 的赋值操作。 创建自己的对象基类 im

Kotlin 监听键盘显示隐藏

最近碰上了需要监听键盘显示和隐藏,在Kotlin场景下封装了一个扩展方法,方便日后使用。 Android系统本身并没有提供有效的方法可以监听键盘的显示和隐藏,常用的监听方法莫过于屏幕的可见区域高度,当高度变化超过一定值,一般认为是超过200像素,就说明有键盘的显示和隐藏操作。 fun Activity.observeKeyboardChange(onChange: (isShowing: Bool

全面掌握组件化ARouter,即刻吊打面试官!

前言 为了实现组件化要解决的几个问题点,其中 页面跳转、组件间通信 的问题是使用了 ARouter 这个框架来解决的。ARouter确实是专门用于做组件化改造,官方是这么介绍的: 一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦 是时候对 ARouter 这个强大的框架做一个解析了:它是如何做到 页面跳转、组件间通信 的?我们能从ARrouter中

Swift 2G/3G/4G网络判断

我们可以引用import CoreTelephony框架下的一些API来判断当前的网络 iOS系统API定义: /* Radio Access Technology values */ @available(iOS 7.0, *) public let CTRadioAccessTechnologyGPRS: String @available(iOS 7.0, *) public let CT

uniapp中打包ios app完整详细流程,包含证书生成转换、描述文件生成和安装步骤

文章目录 前言 一、生成证书签名请求 1. 生成 RSA 私钥 2. 生成证书签名请求(CSR)(也是直接复制怼上去回车) 二、在开发者账号中创建证书和描述文件 1.创建证书 2.创建描述文件 二、打包 1. 打包之前,我们先把下载下来的cer证书转换为Hbuilder X支

OAuth2生成token代码备忘

一、登录接口(用户名+密码) 1、前端请求auth服务 2、请求数据 { "mobile": "134178101xx", "password": "123456" } 3、Controller方法 @SneakyThrows @PostMapping("pwdLogin") @Sig

iOS 多线程原理 - GCD函数底层

libdispatch-1271.120.2 下载 苹果官方资源opensource 多线程相关文献: iOS 多线程原理 - 线程与队列底层 iOS 多线程原理 - GCD函数底层 iOS 线程底层 - 锁 本章节探究: 1.单例 dispatch_once 2.栅栏函数 barrier 3.调度组 group 4.信号量 semaphore 5.dispatch_source 前言 在了解了线

android studio 配置jdk版本!

如何在 Android Studio 2025.1.1 设置 Gradle JDK 为 JDK 17 打开 Android Studio,点击顶部菜单: arduino CopyEdit File > Settings (Windows/Linux) 或者 Android Studio > Prefere