Flutter 编写收音机开源
之前写的一个 Flutter 收音机,支持桌面端和手机端,在https: www.cnblogs.com/imlgc/p/17536481.html ,写完之后就不怎么管了。后面陆陆续续有人邮件索要验证码,不是经常使用的邮箱,所有也不经常打开,也导致很多人没有收到回复。 所以,干脆将这个东西开...[2023/9/20]
web应用及微信小程序版本更新检测方案实践
背景: 随着项目体量越来越大,用户群体越来越多,用户的声音也越来越明显;关于应用发版之后用户无感知,导致用户用的是仍然还是老版本功能,除非用户手动刷新,否则体验不到最新的功能;这样的体验非常不好,于是我们团队针对该问题给出了相应的解决方案来处理; 技术栈:vue3+ts+vite+ant-...[2023/9/18]
【uniapp】【微信小程序】wxml-to-canvas
真是搞吐了,研究了整整两天,困死我了 本来使用生成二维码插件好好的,插件页也支持导出二维码图片,可是领导说要带上文件的名称,那就涉及html转图片了,当然也可以改二维码插件的源码,不过源码做了混淆,看晕了,放弃了。 试了将微信的原生插件wxml-to-canvas引入unia...[2023/9/18]
Android 编译介绍
一、需求 Android的源码非常的庞大,编译Android系统往往会占用我们很长的时间,我们需要了解下Android的编译规则,以期能提高我们的开发效率,达到程序员按时下班的伟大理想。 二、环境 ...[2023/9/13]
vue3+ts Axios封装—重复请求拦截
创建好vue3项目 1.安装Axios与Element Plus Axios安装 npm install axios Element Plus 安装 官网入口:https: element-plus.gitee.io/zh-CN/ npm install element-plu...[2023/9/6]
微信小程序隐私保护协议修改方法 uniapp
微信隐私保护协议指南 一天天没事闲的 01 在manifest.json 中添加一行 "__usePrivacyCheck__" : false &nb...[2023/9/6]
Flutter系列文章-Flutter在实际业务中的应用
不同场景下的解决方案 1. 跨平台开发: 在移动应用开发中,面对不同的平台(iOS和Android),我们通常需要编写两套不同的代码。而Flutter通过一套代码可以构建适用于多个平台的应用,大大提高了开发效率,降低了维护成本。 2. 混合开发: 在一些已有的原生应用中,引入Flutter可以...[2023/8/29]
深入理解 Flutter 图片加载原理
前言 随着Flutter稳定版本逐步迭代更新,京东APP内部的Flutter业务也日益增多,Flutter开发为我们提供了高效的开发环境、优秀的跨平台适配、丰富的功能组件及动画、接近原生的交互体验,但随之也带来了一些OOM问题,通过线上监控信息和Observatory工具结合分析我们发现问题的原...[2023/8/18]
Flutter系列文章-Flutter进阶2
这一节我将再详细地为您介绍 Flutter 进阶主题,包括导航和路由、状态管理、异步处理、HTTP请求和Rest API,以及数据持久化。让我们逐个介绍这些主题。 1.导航和路由 在 Flutter 中,导航和路由是构建多页面应用的关键概念。导航是指从一个页面(或称为路由)切换到另一个页面的过...[2023/7/31]
Swift函数调用方式浅析
函数的调用机制 函数的调用机制是在函数调用时通过那种路径走到最终调用函数地址的机制。 在编程语言中,函数的调用机制有三种 1.静态调用:编译期就确定了函数内存地址,执行效率最高,还可以使用编译器优化如:inline函数内联提升执行效率。缺点:因为函数调用的内存地址在编译期已经确定,则...[2023/7/19]
axios详解以及完整封装方法
""" 一、axios是什么 Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XML...[2023/7/17]
微信小程序生态15- 批量提交微信小程序审核的一种方式
大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 以下是『微信小程序生态系列文章』正文! 需求背景 我们是一个提供SaaS服务的小程序服务商,会给每一个客户申请一个专属的小程序,到目前为止已经...[2023/7/12]
关于 axios 是什么?以及怎么用?
〇、前言 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 Node.js 中。简单的讲就是可以发送 Get、Post 请求。 诸如 Vue、React、Angular 等前端框架都可以使用 Axios,由于他们不操作 DOM,所以就不必须引用 jQuery。如果你的...[2023/7/5]
一图讲清楚公众号扫码关注绑定手机号自动登录
日常开发中,相信不管做 C 端还是 B 端业务的同学都会遇到微信相关的业务,比如微信登录、微信支付、公众号扫码关注等场景。 最近博主在做公众号扫码关注自动登录这一块的业务,因此总结绘制了一张公众号扫码关注绑定手机号自动登录流程图分享给大家。 推荐博主开源的 H5 商城项目waynboo...[2023/6/28]
vue3实现H5网页录音并上传(mp3、wav)兼容Android、iOS和PC端
使用 Recorder插件 可以在HTML5网页中进行录音,录音完成后得到blob文件对象,然后将blob上传到服务器;项目使用的vue3.0版本(这个插件同时支持vue2.0、也支持uniapp,很强!!),录音过程中会显示可视化波形,同时能够做到兼容PC端、Android、和iOS,一次编码...[2023/6/12]
从零玩转系列之微信支付开篇
一、前言 halo各位大佬很久没更新了最近在搞微信支付,因商户号审核了我半个月和小程序认证也找了资料并且将商户号和小程序进行关联,至此微信支付Native支付完成.此篇文章过长我将分几个阶段的文章发布(项目源码都有,小程序和PC端) 二、演示 微信支付Native案例 微信支付JSAPI案例...[2023/6/12]
iOS气泡提示工具BubblePopup的使用
在平时的开发中,通常新手引导页或功能提示页会出现气泡弹窗来做提示。如果遇到了这类功能通常需要花费一定的精力来写这么一个工具的,这里写了一个气泡弹窗工具,希望能帮你提升一些开发效率。 使用方法 1.从gitHub上下载代码到本地,代码地址:https: github.co...[2023/6/9]
[Kotlin Tutorials 21] 协程的取消
协程的取消 本文讨论协程的取消, 以及实现时可能会碰到的几个问题. 本文属于合辑: https: github.com/mengdd/KotlinTutorials 协程的取消 取消的意义: 避免资源浪费, 以及多余操作带来的问题. 基本特性: cancel scope的时候会can...[2023/6/8]
[Kotlin Tutorials 22] 协程中的异常处理
协程中的异常处理 Parent-Child关系 如果一个coroutine抛出了异常, 它将会把这个exception向上抛给它的parent, 它的parent会做以下三件事情: 取消其他所有的children. 取消自己. 把exception继续向上传递. 这是默认的异常处理关系...[2023/6/8]
flutter系列之:做一个会飞的菜单
目录简介定义一个菜单项目让menu动起来添加菜单内部的动画总结 简介 flutter中自带了drawer组件,可以实现通用的菜单功能,那么有没有一种可能,我们可以通过自定义动画来实现一个别样的菜单呢? 答案是肯定的,一起来看看吧。 定义一个菜单项目 因为这里的主要目的是实现菜单的动画,所...[2023/6/7]
一个.Net强大的Excel控件,支持WinForm、WPF、Android【强烈推荐】
推荐一个强大的电子表单控件,使用简单且功能强大。 项目简介 这是一个开源的表格控制组件,支持Winform、WPF和Android平台,可以方便的加载、修改和导出Excel文件,支持数据格式、大纲、公式计算、图表、脚本执行等、还支持触摸滑动,可以方便地操作表格。 总的来说是一个可以快速构建、...[2023/6/5]
一篇文章带你详细了解axios的封装 - 公众号-web前端进阶
axios 封装 对请求的封装在实际项目中是十分必要的,它可以让我们统一处理 http 请求。比如做一些拦截,处理一些错误等。本篇文章将详细介绍如何封装 axios 请求,具体实现的功能如下 基本配置 配置默认请求地址,超时等 请求拦截 拦截 request 请求,处理一些发送请...[2023/6/5]
Flutter调优--深入探究MediaQuery引起界面Rebuild的原因及解决办法
前言 我们可以通过MediaQuery.of(context)方法获取到一些设备和系统的相关信息,比如状态栏的高度、当前是否是黑暗模式等等,使用起来相当方便,但是也要注意可能引起的页面rebuild问题。本文会介我们可以通过MediaQuery.of(context)方法获取到一些设备和系统的相...[2023/5/29]
Flutter热更新技术探索
一,需求背景: APP发布到市场后,难免会遇到严重的BUG阻碍用户使用,因此有在不发布新版本APP的情况下使用热更新技术立即修复BUG需求。原生APP(例如:Android & IOS)的热更新需求已经比较成熟,但Flutter技术栈目前还缺少类似的技术方案,因此Flutter研发团队,...[2023/5/26]
Kotlin难点
目录高阶函数双冒号函数引用类引用属性引用匿名函数Lambda 表达式例子作用域函数 高阶函数 高阶函数是将函数用作参数或返回值的函数,还可以把函数赋值给一个变量。 所有函数类型都有一个圆括号括起来的参数类型列表以及一个返回类型:(A, B) -> C 表示接受类型分别为 A 与 B ...[2023/5/26]
MAUI开发Android程序使PDA扫码广播消息转发至Web页面
前言 公司系统的手持终端(PDA)是用的Vue写的前端代码 在PDA上用浏览器直接打开Web页面 PDA扫码的时候,输出模式直接用模拟键盘按键的方式输出 这样在Web页面上,如果一个输入框在当前有焦点的情况下 PDA扫码的内容会直接填充至对应的输入框 正常的话这样没有问题 但是最近有...[2023/5/15]
万字长文详解如何使用Swift提高代码质量
前言 京喜APP最早在2019年引入了Swift,使用Swift完成了第一个订单模块的开发。之后一年多我们持续在团队/公司内部推广和普及Swift,目前Swift已经支撑了70%+以上的业务。通过使用Swift提高了团队内同学的开发效率,同时也带来了质量的提升,目前来自Swift的Crash的占...[2023/5/10]
iOS 单元测试
作用一名合格的程序员,得能文能武。写的了代码,也要写的了单元测试。 单元测试步骤 1.File -> New -> Target, 选择单元测试Target,创建成功 如果项目是老项目,那需要手动创建一下UnitTest Target,如果项目里已经有了就忽略。 2.创建一个swi...[2023/5/10]
Flutter(十) 音频+视频播放
在Flutter中,我们有各种插件可供使用,从而实现音频和视频的播放功能。 例如,可以使用“text_to_speech”插件来将文字转换为语音,使用内置的“video_player”插件轻松地实现视频播放,或者使用“audioplayers”插件实现音频播放。 对于仅需要简单播放器功能的情...[2023/5/8]
Android那两个你碰不到但是很重要的类之ViewRootImpl
目录前言1.ViewRootImpl哪来的?2 ViewRootImpl 一个View链渲染的中转站3 不能在子线程操作View?4 View 挂载5 View.post()的Runnable最终在哪执行了?6 为什么View.post 可以获取宽高7 还有一点值得注意总结 前言 这两个类就是A...[2023/5/8]
[MAUI]模仿iOS多任务切换卡片滑动的交互实现
@目录原理创建布局创建分布函数创建动效创建绑定数据细节调整首张卡片的处理为卡片添加裁剪跳转到最后一张卡片项目地址 看了上一篇博文的评论,大家对MAUI还是比较感兴趣的,非常感谢大家的关注,这个专栏我争取周更??。 App之间的多任务切换相信你们都很熟悉。苹果设备从iOS9开始使用水平排列的...[2023/5/4]
Android-图片压缩(二)- 压缩基础
Android - 图片压缩(一)- 项目中取图片转bitmap Android - 图片压缩(二)- 压缩基础 Android - 图片压缩(三)- 剖析鲁班,借鉴参数 Android - 图片压缩(四)- 手撸压缩工具 Android - 图片压缩(五)- 推广使用,开始属于你的工具库 前...[2023/5/4]
iOS APP启动广告实现方式 与 APP唤端调用
APP启动广告功能实现要从2个方面思考 一是UI方案,怎样处理广告页与主页之间的切换方式。 二是广告页展示时机,是使用后台实时广告数据还是使用本地缓存广告数据。后台数据方式获取广告最新但是用户要等待后台返回数据后才能展示,增加用户等待时间。使用本地缓存启动速度快但数据更新不及时。 U...[2023/4/28]
基于.Net开发的ChatGPT客户端,兼容Windows、IOS、安卓、MacOS、Linux
2023年目前要说最热的点,肯定是ChatGPT了。 ChatGPT官方提供的网页版本,还有需要科*上网,很多人都会基于此进行封装。 现在是移动互联网时代,基于手机APP的需求还是很大的。 所以,今天给大家推荐一个ChatGPT客户端开源项目,兼容苹果和安卓手机、PC。 项目简介 这是基...[2023/4/21]
详解Android?Flutter如何自定义动画路由
目录简介自定义跳转使用flutter动画基础实现一个自定义的route总结 简介 flutter中有默认的Route组件,叫做MaterialPageRoute,一般情况下我们在flutter中进行跳转的话,只需要向Navigator中传入一个MaterialPageRoute就可以了。 但...[2023/4/21]
iOS16新特性 | 灵动岛适配开发与到家业务场景结合的探索实践
作者:京东零售 姜海 灵动岛是苹果在iPhone 14 Pro和iPhone 14 Pro Max上首次提出的全新UI交互形式,创新性的让虚拟软件和硬件的交互变得更为流畅。当有来电、短信等通知时,灵动岛会变化形态,以便让用户能够更直观地接收到这些信息。 而在用户使用一些应用App,比如音乐,...[2023/4/12]
微信小程序中如何使用store数据共享
全局数据共享 全局数据共享(状态管理)是为了解决组件之间数据共享的问题,开发中常用的全局数据共享方案有:Vuex、Redux、MobX等 在小程序中,可用 mobx-miniprogram (用来创建 Store 实例对象) 配合 mobx-miniprogram-bindings (用来把 ...[2023/4/12]
如何在微信小程序中实现音视频通话
微信小程序的音视频通话可以通过微信提供的实时音视频能力实现。这个能力包括了音视频采集、编码、传输和解码等多个环节,开发者只需要使用微信提供的 API 接口就可以轻松地实现音视频通话功能。 在具体实现上,开发者需要先在微信开放平台上注册并创建小程序,然后在小程序中集成微信实时音视频能力的 SDK...[2023/4/10]
Android Banner - ViewPager 02
Android Banner - ViewPager 02 现在来给viewpager实现的banenr加上自动轮播 自动轮播的原理,使用handler的延迟消息来实现。 自动轮播实现如下内容 开始轮播&停止轮播 可配置轮播时长、轮播方向 通过自定义属性来配置轮...[2023/4/6]
在Android应用中通过Chaquopy使用Python
在Android应用中通过Chaquopy使用Python [译] 通过Python脚本和包为Android应用带来更多的功能 翻译自https: proandroiddev.com/chaquopy-using-python-in-android-apps-dd5177c9ab6b 欢迎...[2023/4/3]
从头开始,手写android应用框架(一)
前言 搭建android项目框架前,我们需要先定义要框架的结构,因为android框架本身的结构就很复杂,如果一开始没定义好结构,那么后续的使用就会事倍功半。 结构如下: com.kiba.framework ——activity 存储所有的活动 ——base 存储baseAc...[2023/3/31]
iOS?GCD之dispatch_group_enter和dispatch_group_leave使用
目录正文如何使用crash 场景分析源码实现 正文 在实际开发中,经常需要在几个任务全部执行完成之后,在执行后续操作,在 iOS 中,我们可以通过 NSOperation 等达到这一目的。在本篇文章中,我们会介绍如何通过 dispatch_group_enter 和 dispatch_group...[2023/3/31]
Android?应用程序的启动流程示例详解
目录应用进程的启动流程1、ActivityStackSupervisor.startSpecificActivity2、ATMS.startProce Async3、LocalService.startProce 4、startProce Locked函数5、Proce List.startProc...[2023/3/31]
Android时间设置的3个小彩蛋分享
目录问题现象源码分析实践验证结论 问题现象 最近处理了一个非常有意思的系统bug,修改系统时间,重启后居然没有生效 注意要关闭使用网络提供的时间和使用网络提供的时区这两个开关。 重启后显示的时间日期为 显示的时间既不是我设置的时间,也不是当前时间(当前时间为2023-03...[2023/3/29]
Android系统服务DropBoxManagerService详解与实践应用
作者:vivo 互联网客户端团队- Ma Lian 借助系统DropBoxManagerService对于系统文件目录dropbox管理的设计,了解其文件管理的规则、运行机制、读写机制、管控机制,根据其设计一个客户端日志文件管理与上报功能 一、背景 随着公司应用的逐渐增多...[2023/3/27]
Swift中的可选项Optional解包方式实现原理
目录为什么需要Optional什么是OptionalOptional实现原理Optional的解包方式1. 可选项绑定(Optional Binding)2. 强制解包(Forced Unwrapping)3. 隐式解包(Implicitly Unwrapped Optionals)可选链(Opti...[2023/3/27]
Swift中的高阶函数功能作用示例详解
目录高阶函数的作用1. 简化代码2. 提高可读性3. 支持函数式编程4. 提高代码的可重用性常见的高阶函数1. map()2. filter()3. reduce()4. sorted()5. forEach()6. compactMap()7. flatMap()8. zip()9. first(...[2023/3/27]
Web端扫码登录的原理和实现讲解
1 概述 在日常 Web 端产品的使用中,一般都会支持扫码登录,这种方式操作简单,相对传统的手机号登录等方式速度更快、安全性更高,还可以增加自家产品的粘合度。 2 登录原理 扫码登录本质是解决将 APP 端的用户登录信息(通常是 Token)通过扫码的形式安全稳定地同步给 Web 端。 ...[2023/3/24]
maui BlazorWebView+本地html (vue、uniapp等都可以) 接入支付宝sdk 进行支付宝支付 开发 Android app
首先添加支付宝sdk的绑定库 nuget 包:Chi.MauiBinding.Android.AliPay 项目地址:https: github.com/realZhangChi/MauiBinding 新建maui Blazor应用,在根目录创建...[2023/3/22]
MaterialApp?Flutter?应用全局配置与主题管理详解
目录前言主题管理颜色配置字体配置按钮样式导航和路由初始路由命名路由动态路由未知路由本地化支持全局配置Builder 属性结论 前言 在开发 Flutter 应用程序时,我们需要有一个组件来管理全局设置,包括主题、导航和路由。这就是 MaterialApp 的用途。作为 Material De...[2023/3/22]