- 博客(404)
- 收藏
- 关注
原创 《Jetpack Compose 从入门到实战》带你踏上 Compose 开发之旅~
Jetpack Compose 从入门到实战,新书上架,谷歌开发者社区 & Kotlin中文社区 & Compose中文社区 联合推荐
2022-08-02 09:00:00
4126
7
原创 Jetpack Compose:深入理解 GapBuffer & SlotTable
本文介绍了GapBuffer和SlotTable的工作原理及其在Jetpack Compose中的应用。GapBuffer通过动态间隙(Gap)实现高效插入和删除,时间复杂度为O(1),类似乐高积木的灵活拼接。SlotTable将UI组件视为字符存储在GapBuffer中,仅更新变化部分,避免全量重组。 性能优化技巧包括:保持UI结构稳定(如使用AnimatedVisibility)、合理使用remember缓存计算结果、为列表项设置稳定key,从而减少Gap移动和重组开销。这些机制共同保障了Compose
2025-11-17 08:15:00
462
原创 Google 内部使用的 Jetpack Compose API 设计规范与最佳实践
Compose项目发布最新API设计规范,对Kotlin编码规范进行了补充和调整。规范要点包括:1)常量采用PascalCase命名;2)无返回值的@Composable使用名词+PascalCase命名,有返回值的则使用camelCase动词命名;3)remember函数需以"remember"前缀开头;4)CompositionLocals需以"Local"前缀命名;5)UI组件必须返回Unit。该规范旨在提升Compose代码的一致性和可读性,对开发公共API和
2025-11-12 08:15:00
584
原创 Android Studio + Gemini:重塑安卓 AI 开发新范式
摘要:谷歌将自研大模型Gemini深度集成到Android Studio中,为安卓开发带来全流程AI赋能。该方案提供对话式交互、智能编码辅助、多模态设计稿转换、Agent智能体自动化等功能,覆盖从设计到测试的开发全周期。数据显示可提升40%任务完成效率,23%的新代码来自AI生成。通过与Compose、Gradle等安卓专属工具链的深度协同,解决了移动端AI Coding工具迁移困境。Journeys测试框架等创新功能进一步简化了质量保障流程,重新定义了安卓开发效率边界。(149字)
2025-11-11 08:30:00
1755
原创 Android Journey Test:AI 驱动的自动化测试新范式
《Android Studio推出AI驱动的Journey Test革新UI测试》摘要:Google推出革命性的Journey Test功能,通过自然语言描述替代传统测试代码编写,实现端到端UI自动化测试。该功能基于Gemini大模型的多模态理解能力,能自动识别界面元素并执行操作,支持目标导向和步骤导向两种测试模式。目前已在Android Studio Canary版本发布,支持Firebase Test Lab多设备测试,未来将增强测试复用、自动修复等功能。Journey Test显著降低了测试门槛,有望
2025-10-24 08:15:00
918
原创 SOLID 设计原则在 Android 中的实战应用
传统方式中,我们经常会在 ViewModel 中依赖一个具体 UseCase,当我们需要升级依赖时,则必须修改 ViewModel 代码,违反开闭原则。而通过自定义 ViewModelFactory 和依赖注入,我们可以实现对扩展开放,对修改关闭。当有新需求,要求更新 UseCase 依赖时,我们通过创建新的 UseCase 实例并传递给工厂,以此来扩展 ViewModel 的功能(对扩展开放),而不需要修改 ViewModel 类本身(对修改关闭)。
2025-10-21 08:30:00
1634
原创 三种 MVI 模式:Pure MVI、Reducer MVI、State Machine MVI 深度对比
本文对比了三种MVI架构模式在Android开发中的应用。Pure MVI是最简洁的实现,适合简单场景但难以维护;带Reducer的MVI通过纯函数提升可测试性和代码整洁度;带状态机的MVI则通过有限状态机管控复杂流程的状态转换,确保合法性。三者各有优劣,开发者应根据业务复杂度选择合适模式:简单功能用Pure MVI快速实现,中等复杂度引入Reducer提升可维护性,多步骤强依赖流程采用状态机保证正确性。代码示例展示了各模式的核心实现,帮助开发者理解架构差异。
2025-10-15 08:30:00
1807
原创 Android 架构之争:MVI 真的比 MVVM 更胜一筹吗?
Jetpack Compose 时代下 MVVM 与 MVI 的架构之争 摘要:随着 Jetpack Compose 的普及,关于 MVVM 和 MVI 架构的争论再起。本文通过历史溯源和实践对比,指出 MVVM 在大多数场景下已足够: 历史发展显示 MVVM 已演进为单一状态+UDF 模式 实践案例表明 MVI 容易陷入"上帝Reducer"陷阱,而MVVM能更简洁实现相同效果 简单页面用MVI会过度设计,复杂页面通过合理划分作用域后MVVM也能胜任 现代MVVM已具备MVI的核心优势
2025-10-14 08:30:00
1549
原创 DORA 2025 年度报告:软件开发的 AI 依赖程度状况
2025年DORA全球DevOps报告显示,AI已成为软件开发的核心工具,90%的技术专业人员已将其整合到日常工作流程中,平均每天使用2小时。报告指出,AI在代码编写、调试、文档创建等任务中的使用率均超过55%,65%的开发者表示"中度依赖"以上。尽管存在信任矛盾(30%用户持保留态度),但80%受访者确认AI显著提升了生产力,59%认为改善了代码质量。DORA同时提出AI能力模型,强调组织需在技术、文化等7个维度进行系统性建设,才能充分发挥AI潜力。值得注意的是,今年数据反转了去年结论
2025-10-13 08:30:00
686
原创 Android Studio 新功能 Journey Test:借助 AI 实现基于自然语言的 UI 测试用例编写
摘要:Android Studio推出的Journey Test功能利用Gemini AI实现自然语言驱动的UI测试,开发者只需用日常语言描述测试步骤即可自动生成可执行用例。该功能支持创建XML测试文件、可视化编辑、生成详细测试报告,但当前存在执行速度慢、稳定性不足等局限,适用于团队协作和原型验证,暂不适合CI/CD等高性能场景。Journey Test代表了Android测试向低门槛、智能化方向的创新探索。(149字)
2025-10-13 08:30:00
725
原创 Android 应用崩溃前截图:让问题排查更轻松
你有没有想过,如果在应用崩溃前抓一张截图,能提供光靠崩溃日志给不了的关键视觉信息。截图可以帮你:- **更快复现问题**:不用从日志里猜应用状态,你能直接看到导致崩溃的屏幕画面。- **理解 UI/UX 情境**:崩溃是由对话框、导航错误还是 UI 里的边缘情况触发的?截图能把这弄清楚。- **节省调试时间**:开发者常常要花数小时重现合适的条件,有了视觉快照能快很多。- **衔接开发与 QA**:测试人员和支持团队可以附上截图参考,开发者不用来回沟通就能马上明白情况。- **捕捉用户特定的边缘
2025-10-13 08:15:00
406
原创 Android Studio 新功能:Gemini 重塑 UI 开发流程
Android Studio深度集成Gemini AI,为开发者提供从设计稿到代码的全流程智能辅助。Gemini突破单一聊天功能,支持多模态设计稿转代码、Compose预览一键生成、代码评审与优化等核心场景。通过图片识别、上下文配置和提示库,AI能精准生成符合项目规范的代码。企业版还支持自定义模型训练和精细化管理。未来将拓展至UI问题自动修复、跨设备适配等场景,并引入AI代理实现循环优化。开发者只需安装最新预览版Android Studio即可体验这些功能,显著提升开发效率。
2025-10-10 08:30:00
837
原创 掌握 Compose 性能优化三步法:从问题诊断到实战解决
摘要: 本文系统解析了Jetpack Compose的性能优化策略。通过Layout Inspector和稳定性报告诊断重组问题,深入分析Compose的智能重组机制与参数稳定性规则。提出四大优化工具:升级工具链启用强重组、全局稳定性配置、手动注解标记稳定类型、包装类处理特殊场景。最后强调验证优化效果并建立团队规范,确保Compose应用高效运行。文章结合代码实例,为开发者提供从问题定位到解决方案的完整指南,帮助平衡开发效率与应用性能。
2025-10-07 10:39:06
798
原创 Android 的 16KB 内存页:看似 “内存浪费”,实则提升应用性能达 30%
Android 16KB内存页适配指南 随着Android 15及更高版本开始支持16KB内存页,应用开发者面临新的适配要求。Google Play规定2025年11月起,所有应用必须适配16KB内存页才能在Android 15+设备上发布。本文将介绍如何高效完成这一适配工作: 影响范围 包含原生库(.so文件)的应用 媒体密集型应用(相机、游戏等) 常见SDK(如Firebase、FFmpeg等) 适配方法 使用工具定位问题:通过Android Studio APK分析器、Play控制台检查或Gradle
2025-09-29 08:30:00
968
原创 初探 Navigation 3 嵌套路由:开启更高效的导航之旅
本文介绍了Navigation 3嵌套路由的使用方法,重点讲解了如何通过FragmentContainerView、Material 3的BottomNavigation和嵌套导航图来构建清晰易管理的导航系统。内容包括基础容器配置、现代导航栏实现以及模块化导航图的构建技巧,展示了如何通过分层设计简化复杂场景下的导航逻辑,提高代码可维护性。文章还提供了详细的代码示例,帮助开发者快速上手Navigation 3的嵌套路由功能。
2025-09-28 08:30:00
1581
原创 Kotlin Flow 入门指南:异步数据流的优雅处理
Kotlin Flow 是 Kotlin 协程中的异步数据流处理工具,类似 RxJava 但更轻量。它采用冷流机制,只有调用 collect 时才会执行。Flow 提供丰富的操作符(map、filter、zip 等)进行数据转换和组合,支持异常处理和背压管理。适用于网络请求、UI 状态管理等异步场景,能与协程无缝配合。测试时可使用 Turbine 库验证流行为。Flow 通过操作符链式调用实现声明式编程,简化复杂异步逻辑。
2025-09-25 08:30:00
938
原创 基于 Android Jetpack 构建离线优先(Offline-First)应用
构建离线优先的移动应用需要综合运用本地存储、后台同步和分页加载技术。使用Room实现数据本地存储,确保应用在网络断开时仍能访问数据;通过WorkManager智能调度后台任务,在网络恢复时自动同步数据;采用Paging 3实现高效的分页加载,提升大数据量场景下的用户体验。这种技术组合能有效解决网络不稳定问题,使应用具备更可靠的离线运行能力,同时优化性能和电池效率。
2025-09-24 08:30:00
747
原创 告别 EncryptedSharedPreferences,拥抱 Android 安全存储新未来
摘要: AndroidX近期弃用了EncryptedSharedPreferences(ESP),因它依赖过时的SharedPreferences且缺乏灵活性。推荐迁移至现代方案: Jetpack DataStore:异步、类型安全,但需配合加密库(如Tink)处理敏感数据; Tink加密库:支持多算法,集成KeyStore,适合企业级应用; 自定义加密DataStore:结合Tink与PreferencesDataStore封装安全读写。 新应用建议直接采用DataStore+Tink,旧应用可逐步迁移。
2025-09-23 08:30:00
688
原创 用端侧 AI 重塑移动开发:ML Kit 实战指南
本文介绍了如何利用ML Kit快速为移动应用添加AI功能,重点讲解了条形码扫描和OCR的实现方法。作者分享了ML Kit的核心优势:无需机器学习背景即可使用、本地处理保障隐私、经过大规模验证的可靠性以及针对移动设备的性能优化。文章详细展示了Android平台集成ML Kit的步骤,包括依赖配置、条形码扫描器的实现、相机图像处理的最佳实践,以及完善的错误处理机制。通过具体代码示例,作者演示了如何通过优化条码格式配置、控制处理频率、及时释放资源等方法提升应用性能。最后强调了将技术错误转化为友好提示对改善用户体验
2025-09-22 08:30:00
1005
原创 保姆级教程:从零搭建 Jenkins Android 自动发包体系
本文介绍通过Jenkins搭建自动化CI/CD流水线,解决传统开发流程中手动打包导致代码遗漏和版本混乱的问题。整体流程包括:开发者通过脚本或Webhooks触发任务→Jenkins拉取代码→编译生成APK→上传蒲公英→钉钉机器人通知团队。支持自动和手动打包方式,并采取安全措施限制可信用户操作。运行效果显示115次执行全部成功,平均耗时4分6秒,显著提升团队协作效率。教程涵盖Jenkins安装配置、流水线创建、代码拉取、项目编译等关键步骤,帮助团队实现标准化、高效的自动化部署流程。
2025-09-18 18:57:08
956
原创 Compose State 几个常见使用误区与推荐做法
本文探讨了Jetpack Compose中状态管理的常见问题及解决方案。主要问题包括:表单数据在设备旋转时丢失、列表滚动位置重置、跨屏幕导航状态丢失以及不必要的重组。对应的解决方案包括:使用rememberSaveable保存表单状态,为列表项添加稳定键(key),通过ViewModel共享导航状态,以及使用derivedStateOf优化重组性能。文章通过具体代码示例展示了如何正确管理Compose应用中的状态,确保用户体验的连贯性和应用的性能优化。这些实践对构建稳定高效的Compose应用至关重要。
2025-09-16 08:30:00
608
原创 Android 内存页面大小升级:从 4KB 到 16KB
Android 15将支持16KB内存页,取代沿用多年的4KB标准,这对应用性能影响深远。谷歌测试显示,该调整可使应用启动提速3%-30%,系统启动缩短1秒,并降低5%电量消耗。2025年11月起,Google Play将强制要求针对Android 15+的应用必须兼容16KB页面。主要影响使用原生代码的开发者,需更新工具链、替换硬编码假设,并测试第三方依赖。这一变革既是性能优化,也倒逼开发者采用更灵活的内存管理方式,为未来硬件升级铺路。
2025-09-15 08:30:00
1992
原创 字节跳动 PromptPilot:大模型时代的智能提示词利器
Prompt Pilot 是火山引擎专为解决用户与大语言模型交互问题打造的智能提示词解决方案平台。它能把我们模糊的想法,精准翻译成模型能理解的专业指令,还能一站式搞定提示词的生成、调试、优化与迭代全流程,让大模型应用变得更简单。
2025-09-10 08:15:00
2073
原创 Android 系统通知内部工作原理揭秘
本文深入解析了Android通知推送的全流程机制。从开发者调用NotificationManager.notify()开始,系统会经过多层处理:首先通过Binder IPC跨进程传递到NotificationManagerService进行验证和持久化存储;然后经StatusBarService转发给SystemUI进程进行界面渲染;最终在状态栏、通知栏或悬浮横幅中展示。文章详细拆解了核心数据结构(如NotificationRecord)、权限检查机制(Android 13+的运行时权限)、通知渠道系统(A
2025-09-09 08:30:00
5513
1
原创 Jetpack Compose 流式布局(Flow Layout)全解析
Jetpack Compose 的流式布局(FlowRow/FlowColumn)为构建响应式UI提供了强大支持。与标准布局不同,流式布局能在空间不足时自动换行,特别适合标签、筛选器等需要动态排版的UI组件。相比惰性布局(LazyRow/LazyColumn),它更适合处理固定数量、数量较少的项目,会一次性渲染所有子项。开发者可通过权重(weight)、对齐方式(align)和最大项目数(maxItemsInEachRow/Column)等参数精细控制布局,还能创建类网格结构。流式布局的主轴和交叉轴排列方式
2025-09-08 08:30:00
1044
原创 架构实战:用 Clean 和 SOLID 守护你的 Android 架构
摘要: Android开发中,忽视架构设计会导致代码臃肿、难以维护。关注点分离是核心原则,需将应用分为展示层(UI)、领域层(业务逻辑)和数据层(数据源)。以电商订单页为例,若将网络请求、业务逻辑和UI操作全塞进Activity,会导致代码脆弱、难测试且无法复用。例如,后端迁移至GraphQL或适配Wear OS时,紧耦合的代码将被迫重构。采用Clean Architecture与SOLID原则分层设计,能提升扩展性、维护性,避免需求变更引发的灾难性重构。
2025-09-05 08:30:00
1699
原创 强烈安利!Warp:这才是 AI 时代下终端该有的样子
Warp是一款革命性的AI终端工具,通过Agent Mode实现自然语言编程,彻底改变开发者与终端的交互方式。它不仅能智能解析复杂指令(如"找出占用8080端口的进程并杀掉"),还支持多任务并行处理、上下文感知纠错和工具集成。通过三种激活方式无缝融入工作流,Warp显著提升开发、游戏、数据处理等场景的效率,将传统"命令记忆"转变为"意图理解"。工具采用安全设计,建议配合基础命令知识使用,实现人机协作的最佳平衡。Warp代表了终端交互的自然语言革命,
2025-09-05 08:30:00
1132
原创 聊聊 Android Wear OS:从系统功能到 Compose 开发的那些事
摘要: Wear OS 作为主流智能手表系统,经历了从 Android Wear 到 Wear OS 5.1 的迭代,兼容性、健康监测和个性化功能逐步完善。其优势在于交互便捷(如 Tiles 快速访问)、专业健康追踪(整合 Fitbit)、高自由度表盘定制及优化的续航表现。相比 watchOS 和鸿蒙 OS,Wear OS 以跨品牌兼容性和丰富应用生态见长。开发时需聚焦核心功能、适配小屏交互、优化功耗,并遵循 Material Design 规范。与手机应用开发相比,Wear OS 更强调简洁交互和独立运行
2025-09-05 08:15:00
1271
原创 全新 LifecycleOwner 可组合项:让 Composable 具备独立生命周期
AndroidX Lifecycle 2.10.0-alpha01 引入了可组合的 LifecycleOwner,解决了共享生命周期在屏幕过渡时的问题。现有方案通过 LocalLifecycleOwner 共享 Activity 的全局生命周期,导致过渡期间新旧屏幕同时处于 RESUMED 状态,引发资源浪费。新方案通过 NavLocalProvider 动态计算屏幕状态(返回栈状态/过渡状态),为每个屏幕提供独立的生命周期管理:完全显示时用 RESUMED,过渡中用 STARTED,弹出时用 CREATE
2025-09-03 08:30:00
770
原创 Kotlin 2.2 中的嵌套类型别名(Nested Type Aliases)全面指南
Kotlin 2.2引入了嵌套类型别名,允许类型别名限定在类或接口作用域内,提升代码组织性和可读性。类型别名通过简化复杂类型(如lambda、泛型)减少重复代码,便于重构。嵌套类型别名需启用编译器标志,默认可见性为private,可显式设为internal/public。关键限制是不能直接引用外部类的泛型参数,需在别名内重新声明。示例展示了乐器库存服务中嵌套类型别名的实际应用,体现作用域隔离和语义清晰的优势。
2025-09-02 08:30:00
985
原创 深入理解 Compose 中的 LayoutNode:打造高效 UI 的基石
本文深入解析了Jetpack Compose中的核心组件LayoutNode。LayoutNode是所有可组合项的运行时表示,负责将UI描述转化为实际像素,构建持久的树结构映射UI层级。文章通过代码示例展示了Compose如何通过ReusableComposeNode实现节点复用,利用ComposeUiNode作为中间层隔离复杂度,最终由LayoutNode完成测量、布局等核心逻辑。同时对比了LayoutNode与Modifier.Node的分工:前者处理UI骨架和布局,后者管理交互行为。这种分层设计使Co
2025-09-01 08:30:00
795
原创 了解 Retrofit 背后实现原理
Retrofit 是 Android 开发中最优雅的 HTTP 客户端框架,通过动态代理和注解解析实现类型安全的 API 调用。它运行时生成接口代理,拦截方法调用并解析注解(如 @GET、@Query),构造 HTTP 请求。核心流程包括:校验接口合法性、解析方法注解生成 ServiceMethod 蓝图、选择适配器和转换器处理响应。Retrofit 将网络通信、序列化等复杂逻辑封装,开发者只需定义接口即可实现高效 API 调用,体现了分层设计与职责分离的工程思想。
2025-08-29 08:30:00
821
原创 现代 Android 依赖注入之战:选择 Koin 还是 Hilt ?
Koin与Hilt两大Android依赖注入框架终极对决:Hilt以安全优先理念提供编译时验证,与Jetpack深度集成;Koin凭借简洁的Kotlin DSL语法和运行时解析,显著提升开发效率。性能基准测试显示二者差异微乎其微,选择核心转向开发者体验——Hilt适合大型企业项目,Koin更受中小团队青睐。构建时间上Koin无代码生成优势明显,而Hilt通过注解提供更严格的依赖管理。这场对决本质是"安全优先"与"开发者友好"两种设计哲学的碰撞,选择需权衡项目规模、团队
2025-08-29 08:15:00
1775
原创 Jetpack Compose :使用 derivedStateOf 优化重组
Jetpack Compose中的derivedStateOf可以优化重组性能,避免不必要的重复计算。本文通过邮箱验证示例说明:当状态变化触发重组时,直接计算表达式会导致每次重组都重新执行逻辑。而使用derivedStateOf包裹计算逻辑后,Compose会缓存结果,仅在依赖的状态(如email)变化时才重新计算。文章深入解析了其内部原理:通过DerivedSnapshotState跟踪依赖项并缓存计算结果,避免无关重组时的重复计算。这种"记忆化计算"能显著提升复杂逻辑(如验证、筛选)
2025-08-29 01:15:55
915
原创 了解 Android 14 之后的权限管理
本文介绍了Android 14及以上版本的权限管理新特性与最佳实践。主要内容包括:运行时权限请求机制的变化,如位置权限需分前台/后台两步申请;新增的POST_NOTIFICATIONS通知权限;蓝牙权限的细分;媒体文件的分类授权;以及前台服务权限声明要求。文章强调应以用户为中心,遵循"适时请求、解释用途、尊重选择"的原则,避免频繁弹窗,在权限被拒时提供设置引导。这些改进使Android系统更安全透明,开发者需掌握新规范才能开发出既功能完善又尊重用户隐私的应用。
2025-08-28 08:30:00
1232
原创 如何在 Android 中使用 SQLCipher 加密 Room 数据库
本文介绍了加密Android Room数据库的方法。通过SQLCipher实现AES-256加密,结合Android Keystore保护加密密钥。关键步骤包括:添加SQLCipher依赖、安全生成256位随机密钥、使用Keystore加密存储密钥、自定义SupportOpenHelperFactory及时清除内存中的密钥。这种方案能有效保护本地存储数据,防止应用被逆向时数据泄露。实现只需几个核心类,但对密钥管理需要格外谨慎。
2025-08-28 08:30:00
476
原创 机器学习平台怎么选?Vertex AI 及替代方案全解析
机器学习平台选择指南:Vertex AI与替代方案对比 随着机器学习成为企业标配,Google Cloud的Vertex AI平台整合了AutoML等工具,提供从数据准备到模型部署的全流程服务,适合不同技术水平的团队。然而,Vertex AI存在Google生态绑定、定价复杂、学习曲线陡峭等问题。 替代方案中,DigitalOcean Gradient Platform以简单易用、透明定价(每百万标记0.009美元)和快速部署AI应用见长;LangChain提供开源框架,适合技术团队自定义AI系统;Crew
2025-08-27 08:30:00
811
原创 理解 Compose 副作用 API:SideEffect
Jetpack Compose中的SideEffect是一个用于安全处理副作用的重要工具。它允许开发者在每次成功重组后执行非挂起代码,如日志记录、统计分析或与非Compose代码同步状态。与LaunchedEffect和DisposableEffect不同,SideEffect不会启动协程,而是将操作延迟到UI更新完成后执行。其内部机制通过Compose运行时记录副作用,并在重组后批量执行。这种设计确保了副作用不会干扰UI构建流程,同时保持代码的可预测性。适用于调试跟踪、状态同步等场景,是编写高效Compo
2025-08-26 08:30:00
970
原创 Google I/O 2025 新发布的 Jetpack Navigation 3 有哪些核心变化
Jetpack Navigation 3在Google I/O 2025大会上发布,采用全新的返回栈操作模式。与旧版不同,Nav3要求开发者直接操作返回栈实现页面跳转,支持灵活添加/删除页面和类型安全的参数传递。新特性包括多返回栈管理、entryDecorators装饰器(可插入页面跳转逻辑)以及SceneStrategy大屏适配方案。虽然仍处于alpha阶段,但其简洁的API设计为复杂导航场景提供了更直观的控制方式。
2025-08-25 08:30:00
1183
原创 AI 创业的机遇、趋势与实践指南 - 吴恩达在 YC AI Startup School 演讲深度解读
摘要 吴恩达在YC AI Startup School演讲中分享AI创业核心观点:1)应用层蕴含最大机遇而非基础模型层;2)Agentic AI(代理型AI)正成为重要趋势,其迭代式工作流显著提升产出质量;3)创业成功关键在于"速度优势",需聚焦可立即开发的具体想法,利用专家直觉快速决策,并通过AI降低原型验证成本;4)驳斥"AI使编程过时"论,主张全员学习"指挥AI编程"的能力;5)指出产品管理正成为AI开发新瓶颈,需建立快速反馈机制;6)强调深
2025-08-25 08:00:00
1259
空空如也
Android 项目编译过程,Gradle报如下错误,如何解决?
2025-05-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅