移动开发

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

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

浅谈 RunLoop

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

Android学习总结之Room篇

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

iOS动画 —— UIBezierPath

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

Android 蓝牙串口通信Demo

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

关于安卓毛玻璃实现(二)动态毛玻璃recyclerview

上文说到,一个单独的页面实现毛玻璃 博客地址 但是目前,这种方案放在了recyclerview中,就会有性能问题了,为什么?recyclerview因为其加载数据的缓存性质,会同时加载多个view,如果所有view都在做动态毛玻璃,那性能开销可想而知。 !!!代码地址在文末!!! 环境: 1、win10 androidstudio4.4.0 2、jdk 1.8 场景: recyclerview使用

swift-远程推送-开发问题

1.问题 错误:Building for iOS Simulator, but the linked and embedded framework '***' was built for iOS + tvOS SimulatorSimulator-x86_64 设置:Build Settings -> Validate Workspace 20201217200220312.pn