移动开发

Swift 中的 async let

Async let 是Swift并发框架的一部分,允许异步实例化一个常量。并发框架引入了async-await的概念,这使得异步方法的并发性结构化,代码更易读。 如果你是第一次接触async-await,建议先阅读我的文章Swift 中的async/await ——代码实例详解。 如何使用 async let 在解释如何使用 async let 时,了解何时使用 async let 更为重要。我将

Android 蓝牙串口通信Demo

关于如何设置笔记本电脑的蓝牙 串口并且和手机蓝牙配对,以及pc串口调试工具的下载请看这篇博客: 通过上面这篇博客的操作再进入app就能实现本Demo 和 pc串口调试工具的数据互传了。(如果在app中总是显示连接出错,多半是因为蓝牙没有配对好,关闭蓝牙再多配对几次) 效果

iOS动画 —— UIBezierPath

简介 UIBezierPath类创建基于矢量的路径,例如椭圆或者矩形,或者有多个直线和曲线段组成的形状。 UIBezierPath是UIKit中的一个关于图形绘制的类,是通过Quartz 2D也就是CG(Core Graphics)CGPathRef的封装得到的,从高级特性支持来看不及CG。 使用UIBezierPath,你只能在当前图形上下文中绘制。 CGContextRef即图形上下

Android学习总结之Room篇

一、Room 框架基础1. 实体类(Entity)实体类用于描述数据库表的结构。通过使用 @Entity 注解,可以将一个 Java 类映射到数据库中的一张表。例如,以下是一个简单的 User 实体类:import androidx.room.Entity; import androidx.room.PrimaryKey

ES6基础

一、ES6概述 JavaScript脚本语言贡献给ECMA组织用于制定前端编程语言标准,标准化组织推出了ECMAScript语法标准 二、变量声明扩展 let:声明变量,存在块级作用域(大括号范围也可以是一个作用域)、没有变量预解析、不能重复声明等等 const:声明常量,常量一旦声明不能改动 ① let声明变量 let name = "大牧" console.log(name, "na

12.《JavaEE 学习笔记》自定义标签库

参考链接: 1、定义 自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。 JSP标签扩展可以让你创建新的标签并且可以

浅谈 RunLoop

什么是RunLoop     RunLoop 是事件接收和分发机制的一个实现,是线程相关的基础框架的一部分,一个 RunLoop 就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出,通常的代码逻辑是这样的: do{ //... }while(//...)     

自己写个App 启动任务框架也不过如此!

作者:王晨彦 一、前言 我们在开发应用的时候,一般都会引入 SDK,而大部分 SDK 都要求我们在 Application 中初始化,当我们引入的 SDK 越来越多,就会出现 Application 越来越长,如果 SDK 的初始化任务相互依赖,还要处理很多条件判断,这时,如果再来个异步初始化,相信大家都会崩溃。 有人可能会说,我都在主线程按顺序初始化不就行了,当然行,只要老板不来找你麻烦。