移动开发

DAY4 基于 OpenClaw + 飞书开放平台实现 AI 新闻推送机器人

DAY4 基于 OpenClaw + 飞书开放平台实现 AI 新闻推送机器人目录DAY4 基于 OpenClaw + 飞书开放平台实现 AI 新闻推送机器人前  言1 环境准备1.1 华为云开发环境1.2 ModelArts 代金券与模型服务1.3 启动 OpenClaw 网关2 飞书开放平台配置2.1 创建企业自建应用2.2 添加机器人能力2.3 配置应用权限2.4 发布应用版本

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

dispatch_group_leave崩溃

崩溃描述 image.png 近日排查线上崩溃时,发现一个描述信息很少的崩溃,如上。由dispatch_group_leave.cold.1可知,属于dispatch_group异常 dispatch_group使用 dispatch_group使用场景:A任务依赖B/C/D子任务全部执行完成,才进行触发执行。 如何添加子任务,通常有两种方式: block dispatch_gr

Flutter 绘制自定义曲线、折线图及波浪动效实现

简介 上一篇用 Flutter 的 Canvas 画点有趣的图形我们介绍了使用 CustomPaint 绘制自定义形状,可以看到有了图形的平面绘制数学计算方法,我们可以画出所需的形状。本篇我们来介绍线条类图形的绘制,并且结合 Animation 实现了常见的波浪动效。通过本篇,你可以了解到: 正弦曲线的绘制 利用两条正弦曲线加上 Animation 实现波浪动效 曲线的一般绘制方法 折线图绘制

使用ChatGPT做iOS面试的一次体验

ChatGPT新手教程 Q: 如何招一个优秀的iOS开发 AI: 要招聘一名优秀的 iOS 开发人员,需要考虑以下几点: 编程技能:要求具备良好的 Swift 和 Objective-C 编程能力,包括面向对象编程、代码设计和解决问题的能力。 应用程序架构:需要熟悉常用的 iOS 应用程序架构,如 MVC 和 MVVM,并知道如何设计优秀的应用程序架构

自定义Chronometer实现定时器

前言 在Android开发过程中,计时控件是经常回使用到的,在Android控件库中有一个能快捷实现计时功能的控件,它就是Chronometer,今天我们基于它自定义实现一个方便调用的计时控件TimeChronometer。 今天涉及知识有: Chronometer常用方法 TimeChronometer在Activity中使用 效果图和项目结构图 TimeChronometer源码 一

小程序信息收集(小迪网络安全笔记~

免责声明:本文章仅用于交流学习,因文章内容而产生的任何违法&未授权行为,与文章作者无关!!! 附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 四、小程序信息收集 引子:本章对常见的小程序信

深入理解Glide源码:三条主线分析 Glide 执行流程

Glide流程分析 说到图片加载框架,大家最熟悉的莫过于Glide了,但我却不推荐简历上写熟悉Glide, 除非你熟读它的源码,或者参与Glide的开发和维护。然而很多小伙伴对于Glide的流程及其源码解读总是无从下手,本篇就从三条主线来分析一下Glide流程及源码! 第一条主线 加入队列流程: RequestManager with = Glide.with(this); RequestBuil

Android Framework利用OpenGL修改开机动画

目录 效果展示 实现步骤 1.修改BootAnimation 这里我们需要修改BootAnimation.h和BootAnimation.cpp 首先由于我们是多绘制了一个图片,因此我们需要多增加一个纹理,所以需要先修改BootAnimation.h,把mAndroid这个Texture数组改为3(之前为2) 然后在BootAnima

Mac桌面幻灯片,Google文档,google硬盘和google等图标如何移除

最近桌面莫名多了一堆google系列的图标,还无法直接拖到废纸篓删除,尝试了几次,发现这个方法最简单。首先,打开「访达」--「用户名」--「Applications」,可以看到「Chrome应用」,这些多余的图标大概率就是不知情的情况下Chrome默认安装的。进入之后选择全部删除,重新查看桌面&#xf