移动开发

【Android 架构之 MVI 雏形】响应式编程 + 单向数据流 + 唯一可信数据源

这是 MVI 架构的第一篇,系列文章目录如下: 【Android 架构之 MVI 雏形】响应式编程 + 单向数据流 + 唯一可信数据源 关于Android 架构 的MVI 初级体 【Android 架构之 MVI 完全体】 就MVVM 来说关于PartialChange & Reducer [Android 架构之 MVI究极体]数据区分状态和事件,解决粘性数据 引子 MVI 是Mod

【潮汐】苹果iOS App上架流程,非iOS开发人员上架教程

iOS应用上线发布流程一般包含相关证书文件的配置、Xcode的设置、App Store Connect填写App的相关信息、ipa包上传、审核结果以及相关邮件回复。相关证书文件的配置与Xcode的设置一般由iOS开发人员来完成,下面只讲拿到iOS开发人员给的xxxx.ipa包后的上架App Store发布流程 另外:iOS开发者证书的注册、申请、支付一般由iOS开发人员来配合完成。 一、登录Ap

Android Handler之同步屏障机制(sync barrier)

Handler Message种类 Handler的Messgae种类分为三种: 普通消息 异步消息 屏障消息 其中普通消息又称为同步消息,我们平时发的消息基本都是同步消息,在这里不做讨论。 异步消息 通常我们使用Handler想消息队列中添加的Message都是同步的,如果我们想要添加一个异步的Message,有以下两种方式: 1、Handler的构造方法有个async参数,默认的构造方法此参数

Android productFlavors 实现多项目打包

最近接到产品一个需求,需要将现有工程打一个新的apk出来,要给到新客户使用,需要替换appIcon, appName, appId以及切换新的api接口需要切换新的地址。 场景大概如下图: 使用场景 二话不说,直接上代码 第一步:添加productFlavors配置 打开项目app工程的build.gradle文件,在android {}标签里面添加下面代码 productFlavo

Flutter for OpenHarmony: Flutter 三方库 cross_file 为鸿蒙多端提供统一的文件抽象接口(跨平台文件处理基石)

欢迎加入开源鸿蒙跨平台社区:# 前言在 OpenHarmony 应用开发中,文件操作是一个极其常见的需求(如上传图片、读取配置、保存日志)。然而,由于 Flutter 运行在多个平台上,文件在各个环境的表现形式差异巨大: 在鸿蒙/Android/iOS 上,文件是真实的磁盘路径&#xff

Android 无侵入式数据采集:从手动埋点到字节码插桩的演进之路

文章目录 一、痛点:为什么我们渴望“无侵入”? 二、核心原理:AOP 与字节码插桩 1. 工作流程详解 2. 为何选择编译期插桩? 三、实战:如何自动采集常见事件? 1. 页面浏览量(PV/UV)自动采集 1. 目标 2. 技术挑战 3. ASM 实现思路

mac中使用QuickTime Player看了移动硬盘里的视频,如何清除记录?

mac的QuickTime Player有一个bug,就是用它看完移动硬盘中的视频之后,播放记录(也就是右击QuickTime Player的最近使用项目)没有办法清除。我们先来复现一下问题: 移动硬盘中的视频 我们双击打开这个移动硬盘里的电影进行播放: 播放 当我们关掉电影后,右击看一下QuickTime Player的记录: 记录 这时候如果我们正

Promise 对象

Promise 对象是一种连接生产者与消费者的特殊 JS 对象, 类似"订阅列表". let promise = new Promise( // 参数是执行器 executor function(resolve, reject) { // 扮演生产者的角色 通常是异步执行某些操作 // 生产者必须调用 resolve 或者 reject }); // promi