logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

重修设计模式-行为型-状态模式

状态机三要素:状态(State)、事件(Event)、动作(Action),事件驱动状态的流转,并触发动作的执行。实现状态及三种方式:分支判断法:优点:实现简单,适合状态较少的简单场景。缺点:大量 if-else 或 switch-case 代码,可读性和可扩展性差,不适合复杂逻辑。查表法:优点:代码中只需维护好状态流转表即可,代码比较直观,适合状态较多,且增加频繁的场景。

文章图片
#设计模式#状态模式#ui +1
Mac快速配置ADB环境变量

ADB是进行 Androd 开发时很常用的调试工具,Android SDK 中就包含了该工具,所以如果安装了SDK那只需要在环境变量中配置 Android SDK 的路径即可,本文的环境配置也基于这种场景。

文章图片
#macos#adb#android
javax.net.ssl.SSLHandshakeException: Chain validation failed 异常解决

javax.net.ssl.SSLHandshakeException: Chain validation failed 异常解决描述在项目中使用RxJava,OkHttp和Retrofit封装的网络请求,再测试时一切正常,但修改为https的线上正式服务器后就报了异常:javax.net.ssl.SSLHandshakeException: Chain validation failed...

#android#https
解决鸿蒙项目运行报错:ErrorCode: 00401004

removedSysCaps数组中可指定多个SysCap特性,可根据自己的报错提示来填写。比如我这里报错特性是:SystemCapability.Telephony.CellularCall。运行一些官方应用时,有的会提示上述错误,看提示应该是鸿蒙系统的 SysCap(SystemCapability,系统能力)校验失败的错误。最后也是通过配置文件屏蔽 SysCap 校验的方式解决。添加后 syn

#harmonyos#华为
HashMap源码解析

HashMap源码摘要 HashMap采用数组+链表结构(JDK1.8后链表长度超过阈值转为红黑树)。其核心原理是通过key的hash值确定数组下标,实现O(1)时间复杂度存取。初始容量为16,负载因子0.75是时间与空间的平衡点。存储过程包含:数组懒初始化、null键处理、二次哈希(扰动函数)、冲突检测与覆盖判断、链表节点添加等关键步骤。扩容时容量总是保持2的幂次方,这有利于取模运算优化。Has

文章图片
#java#开发语言
记一次Execution failed for task ':app:processDebugResources'坑

产生错误在一次功能迭代的代码编写后,运行时突然报出如下图所示的错误:本来沉稳的我突然虎躯一震,这种无从下手的bug是最让人崩溃的。虽然花了大半天时间解决了问题,但也要记录一下,毕竟时间就是金钱。。。排查过程google,百度一番后,各种各样的方法都有,有的说compileSdkVersion高于buildToolsVersion不准确的,也有的说png图片检查错误的,一一试过之后发现都无...

类文件具有错误的版本 61.0, 应为 55.0 请删除该文件或确保该文件位于正确的类路径子目录中。

这个错误表明你的项目尝试加载的 .class 文件(编译好的 Java 类)是用比你的运行环境支持更高版本的 Java 编译的。

#android-studio#java
Mac版JDK环境配置及Java多版本切换

Mac版JDK环境配置及Java多版本切换一、下载JDK包JDK 各版本可通过 ORACLE 官网下载 ,下载较慢,可以百度搜索 Java Development Kit Mac 找下国内资源 传送门。选择.dmg 文件,安装,一路 next 即可。安装之后窗口就消失了,好像什么都没发生过…那么 Jdk 安装到哪了?我们来找一下:首先打开终端:command + 空格,输入**terminal**

#java#macos#jar
流式布局标准实现:FlexboxLayout使用指南

FlexboxLayout是什么FlexboxLayout是Google开源的一个强大的控件,直接继承ViewGroup,效果类似于加强版的LinearLayout,但与LinearLayout并无关联。官方原话是:FlexboxLayout is a library project which brings the similar capabilities of CSS Flexible...

#android#css#html5
使用android.os.Build来查看设备的信息

使用 android.os.Build 来查看设备信息//看一下设备信息private fun printDeviceInfo() {val deviceInfo = arrayOf("产品:${android.os.Build.PRODUCT}","制造商:${android.os.Build.MANUFACTURER}","型号:${android.os.Build.MODEL}",

#android#android studio
到底了