基于 Linux 内核的开放源代码移动操作系统
做拍照搜题、票据录入、商品标签采集,都会碰到同一个问题:App Inventor 怎么做 OCR?
LazyColumn 是 Compose 中处理长列表的核心组件,但很多项目在列表数据更新时会出现闪烁、滚动卡顿或不必要的重组,根本原因往往集中在三个问题上:k...
深圳学友科技有限公司 | 技术经理 (已认证)
离线学习看起来就是"把视频下载到手机里,没网也能看",但实际落地时每个环节都有移动端特有的工程挑战。
移动端定位技术是LBS(Location-Based Services)应用的基础设施。Android平台自诞生起便提供了基于系统框架的定位能力,随着Googl...
在 Android 开发中,触摸事件的处理是交互体验的核心。一个点击、一个滑动,背后都是一套完整的事件分发链路。本文从 MotionEvent 的基础概念出发,...
在 Android 开发中,协程让异步代码变得清晰,但当多个协程需要协作时——比如一个协程负责生产数据,另一个协程负责消费处理,或者需要在多个协程间传递事件——...
HTML页面可以通过 video 标签播放网络和本地视频,结合浏览器全屏接口实现最大化播放,并在全屏时锁定横屏获得更好的观看体验。完成页面代码后,再通过HTML...
在HTML项目中,可以使用 html5-qrcode 调用手机摄像头并识别二维码。完成页面代码后,再通过HTML一键打包APK工具勾选相机权限,即可生成支持扫码...
ViewModel 是 Android Jetpack 架构组件的核心,它不仅能在配置变更(如屏幕旋转)时保留数据,还能与 SavedState 机制配合,在进...
在单模块项目中,Hilt 的依赖注入配置通常比较直接:定义 Module、标注 @Inject、编译通过即可使用。但当项目逐步模块化后,依赖注入的复杂度会显著上...
深度链接(Deep Link)是移动端产品常见的诉求:从网页、通知、分享卡片里点一个链接,直接打开 App 内的某个页面。但实现方式不止一种,不同方案的安全性和...
对很多 Android 开发者来说,真正让人疲惫的不是打出一个 APK,而是版本更新之后的那一串重复操作:上传安装包、确认版本号、填写更新说明、切换不同市场后台...
上一篇聊了为什么写这个 SDK、把哪些"重复活"包了。这篇不绕弯,直接带你从加依赖跑到第一个请求,JVM 和 Android 都给完整示例,顺带把几个接入时容易...