移动开发

蓝牙 HFP 协议详解及 Android 实现

文章目录 前言 一、什么是蓝牙 HFP 协议? HFP 的核心功能HFP 的核心功能 HFP 在 Android 中的典型应用场景 二、HFP 协议的工作流程 HFP 的连接流程 三、HFP 在 Android 的实现 1. 检查蓝牙适配器状态 2. 发现并检测支持 H

福祸or复活

昨天日更不知道怎么了,发了首诗没法出去。今天没在意看,晚上我要日更的时候,看到消息里的日更失败,我一下子茫然了,我看了看我的日更,结果看到最新还是前天的,到私密里看到还在私密文章里。我一下子慌了,诗没发出去。 我不想再继续一年365,于是找猫姐问询了一下,她又帮忙问别的简友,又发了个之前有简友复活的文章给我看,我在那篇文章里留言,那位简友说需要苹果手机。 猫姐又在群里问了问群友,最终知道是苹果手机

iOS动画 —— UIBezierPath

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

Launcher进程启动流程

1、Launcher Launcher作为Android系统的桌面,它的作用有两点: 作为Android系统的启动器,用于启动应用程序; 作为Android系统的桌面,用于显示和管理应用程序的快捷图标或者其它桌面组件; 2、Launcher进程启动流程 2.1、SystemServer调用 在SystemServer进程启动之后,执行其run()函数,在里面执行了大量的配置设置操作,并且启动了各种

Android学习总结之Room篇

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

浅谈 RunLoop

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

Flutter / React / ArkUI:在鸿蒙 PC 上怎么选?

网罗开发 (小红书、快手、视频号同名)   大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域

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

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