- 博客(871)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 现在AI写代码这么容易的情况,我还有没有必要学kotlin?
AI 不是来取代程序员的,而是来取代“只会写重复代码的打字员”的。学习 Kotlin 依然极具价值,它给你的是。
2026-07-01 11:37:39
189
原创 安卓14或者安卓16还有虚拟机么?
如果你把 Android 14 / Android 16 想象成一家超大型跨国集团ART(代码虚拟机):依然是全公司最核心的**“翻译兼后勤秘书团队”**。他们负责把程序员用 Kotlin 写的报告,翻译成底层芯片能懂的指令,并负责打扫内存垃圾。这个团队现在不仅没有被裁,反而被 Google 训练得更加精锐,甚至可以直接线上换人(模块化更新)。AVF(系统虚拟机):这是公司最新斥巨资打造的**“绝对安全隔离室(金库)”**。
2026-06-26 17:06:47
217
原创 安卓app如何在安卓系统上运行的?
打包:厨师长写好了一本“标准菜谱(.dex)”。安装:你把菜谱买回店里,并让店长(ART 引擎)熟悉菜谱。启动:有客人进门点菜(点击图标),总部(Zygote)立刻派出一个带着标准厨具的“克隆厨房”(Fork 新进程)来专门服务这一桌客人。运行:厨房在独立封闭的包间(沙盒)里做菜,既高效安全,又不会影响旁边桌的客人。
2026-06-26 17:04:58
170
原创 为什么kotlin写的代码可以在安卓系统上运行?
2017 年:Google 宣布 Kotlin 成为 Android 开发的一级支持语言。2019 年:Google 进一步宣布Kotlin-First(Kotlin 优先),这意味着最新的 Android API、库和官方教程,都会优先为 Kotlin 设计(比如专门为 Kotlin 写的 Android KTX 扩展库)。所以,Kotlin 并非在 Android 系统里“重新造了一个轮子”,而是巧妙地“借壳上市”,利用了 Android 已经非常成熟的 Java 运行环境。
2026-06-26 17:04:11
289
原创 flutter和kotlin相比,彼此的优点和劣势都是什么?
1. 什么时候该选 Flutter?公司是初创团队,急需最快速度把产品在 iOS 和 Android 双端上线试错。App 主要是信息展示、电商购物、社区社交、表单交互(比如大部分的商城、新闻、打车软件)。公司缺乏充足的预算去养两支原生开发团队。你希望在不同系统版本下,UI 展现出绝对的一致性。2. 什么时候该选 Kotlin(原生/KMP)?App 严重依赖系统底层和硬件交互(如:专业的相机修图软件、无人机遥控 App、物联网蓝牙连接 App)。App 要求极致的性能和原生体验。
2026-06-26 16:22:49
249
原创 为什么很多公司喜欢用flutter开发app?
总结: 对于绝大多数以信息展示、表单交互、电商、社交为主的商业 App 来说,底层硬件交互的需求并不多。很多公司(尤其是初创公司和中大型企业的创新业务部门)喜欢使用 Flutter 开发。App,主要是因为它在开发成本、开发效率和运行性能之间找到了一个极佳的平衡点。能够让公司用一半的成本和时间,做出体验不打折扣的。App,这正是它在商业开发中大受欢迎的根本原因。
2026-06-26 16:20:40
238
原创 hermes是什么?有什么作用?有跟它同样的产品么?
Nous Research Hermes Agent 是一个在科技和人工智能领域内备受关注的概念。如果你是AI开发者、自动化爱好者,或者正在寻找超越普通聊天机器人(如ChatGPT)能力的“数字员工”,它对你来说非常有用。以下将详细说明它是、它的,以及在这一赛道上的。
2026-05-28 16:42:13
373
原创 window10 任务栏 微信 图标显示一个白图 是为什么?
5. 按照之前的“方法一”,按 Ctrl+Shift+Esc 打开任务管理器,找到“Windows 资源管理器”,右键选择**“重新启动”**。(如果是任务栏图标,右键点击后,在弹出的菜单里再次右键点击“微信”或“WeChat”字样)。系统的底层缓存彻底卡死了。5. 回到桌面,找到这个齿轮形状的 修复图标.bat 文件,右键选择“以管理员身份运行”。4. 在弹出的窗口中,点击 “快捷方式” 选项卡,然后点击下方的 “更改图标”。6. 选中 WeChat.exe,点击“打开”,然后连续点击“确定”。
2026-05-22 10:07:36
311
原创 cmder设置默认打开路径
从你发的截图来看,目前没有任何一项被选中(右侧的代码框是空的,而且右下角的 Startup dir... 按钮也是灰色不可点击的状态),并且确实没有带 *3. 选好之后,你会看到上方中间的 Task parameters 文本框里,自动追加了一行类似这样的代码:/dir "D:\你的路径"。选中之后,你会发现右侧的文本框里出现了代码,并且右下角的 Startup dir... 按钮变成了**亮起(可点击)**的状态。2. 在弹出的窗口中,选择你想要默认打开的文件夹。第一步:选中你想修改的任务。
2026-05-20 14:43:54
58
原创 cmder有多余日志打印出来
如果你用分号把它们连在一起写在一行,Windows 会以为这是一个包含了特殊字符的完整文件夹名字,从而在后台偷偷给这一整行加上了双引号 "。由于它的末尾多出来一个系统偷偷加的 ",刚好就导致了你看到的报错:此时不应有 D:\jdkinstall11\jre\bin"。1. 在你截图的这个界面,双击选中 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 删掉,让这一行只保留: %JAVA_HOME%\bin。4. 在新出来的空行里,填入: %JAVA_HOME%\jre\bin。
2026-05-20 14:40:48
29
原创 Claude code 相关的skill是干嘛的?有什么作用?(2)
内置技能 (Bundled Skills):Claude Code 本身自带了一些开箱即用的技能,比如/debug(自动排查报错)、/simplify(简化重构代码)、/batch(批量处理文件)等。自定义与社区技能:你可以通过在项目的目录下创建SKILL.md文件来轻松编写自己的技能;也可以通过终端一键安装 GitHub 上成百上千的开源技能(如知名孵化器 Y Combinator CEO 开源的 G-Stack 技能包)。简单来说,
2026-05-19 17:58:53
358
原创 Claude code 相关的skill是干嘛的?有什么作用?
里的 “Skills(技能)”,本质上是:给 Claude Code 预设的一套“专业工作流 / 能力模板”。你可以理解成:Cursor 的 RulesChatGPT 的 Custom GPTCopilot 的 Agent presetAI 编程里的“专家模式”但 Claude Code 的 skill 更偏向:“让 AI 自动按某种工程规范做事”。
2026-05-19 17:55:27
486
原创 安卓系统中,原生代码已经实现了小窗模式么?
Android 原生其实早就有“小窗”底层架构:PIP(官方开放)Freeform(隐藏)MultiWindow(分屏)Overlay(悬浮窗)厂商的小窗,本质上是对 Android Freeform Window 的深度系统级增强。
2026-05-18 10:31:16
240
原创 安卓app自己可以检测到自己进程在前台 在后台 和被杀掉的情况么?
前后台状态:放心使用 ProcessLifecycleOwner,完全在你的掌控之中。被杀状态千万不要依赖在 App 被杀的那一刻(比如 onDestroy)去保存重要数据,因为系统随时可能不打招呼直接干掉进程。正确做法:在 App进入后台时(即 onStop 或者 ProcessLifecycleOwner 的 onStop),就立刻持久化保存用户数据和核心状态。性能监控。
2026-04-14 16:15:36
423
原创 SavedStateHandle在安卓app中是干嘛的?
存储方式遭遇屏幕旋转?遭遇系统杀后台进程?遭遇用户手动划掉App / 重启手机?适用场景ViewModel 中的普通变量✅存活❌丢失❌丢失存放网络请求拉下来的大量数据(如商品列表)。这种数据即使丢了,大不了重新请求一次,没必要存进保险箱。✅存活✅存活❌丢失存放轻量级的用户 UI 状态(比如输入了一半的草稿、页面传过来的 ID 等),保证用户切回后台时体验不中断。Room / DataStore (本地数据库/文件)✅存活✅存活✅存活。
2026-04-07 10:07:11
218
原创 为什么现在最新的安卓app,搜不到ViewBinding 关键词了?
你搜不到 ViewBinding,是因为最新潮的技术圈已经全面拥抱了没有 XML 的。
2026-04-07 09:45:23
205
原创 ViewBinding
就是一个让你安全、快捷地拿到 XML 控件对象的官方插件。界面控件获取:用(再也不用 findViewById)。UI 数据展示与监听:用LiveData(不用担心生命周期崩溃)。界面业务逻辑控制:用ViewModel(屏幕旋转数据不丢失)。后台耗时任务:用Kotlin 协程(再也不用 new Thread 和写回调)。
2026-04-07 09:42:45
245
原创 kotlin写app,各种组件都想用最新最主流的,应该使用哪些控件组件构件?
语言UI架构:单 Activity + Compose + ViewModel + MVI 思想数据流异步:协程 (Coroutines)网络:Retrofit图片:Coil存储依赖注入建议既然你有 Java 的底子,你可以直接跳过 XML 和旧的 Android 体系。打开 Android Studio,新建项目时直接选择,默认生成的代码就是基于这套最新体系的起点。这套技术栈一旦掌握,开发速度和代码质量会比 Java 时代提升好几倍!
2026-04-07 09:23:33
432
原创 LiveData和MutableLiveData都是什么?有什么区别?都是在什么情况下用?
是给ViewModel 自己用的,用来存数据和改数据。LiveData是给用的,用来看数据和刷新界面。这种“内部可变,外部只读”的设计,在编程中叫做封装。它保证了数据流向永远是单向的(ViewModel -> UI),让你的代码结构变得非常清晰,极大地减少了 Bug 的产生。
2026-04-03 17:38:57
368
原创 安卓app中viewmodel的常用的用法有哪些?
场景推荐用法单页面数据存储多片段共享数据使用获取单例执行网络请求在中执行处理复杂逻辑组合Repository模式,保持 ViewModel 简洁防止进程杀掉使用存取关键 Key你目前是在从传统的 MVC/MVP 模式转向 MVVM 吗?还是在考虑如何更好地结合 Jetpack Compose 使用 ViewModel?
2026-04-03 17:37:22
226
原创 协程有哪些常用的用法
启动协程:在 ViewModel 里用 viewModelScope.launch {};在 Activity/Fragment 里用 lifecycleScope.launch {}。(这样就不会有内存泄漏)切换线程:用 withContext(Dispatchers.IO) {} 包装耗时代码。延迟:用 delay(毫秒)。并发:用 async {} 启动,用 await() 拿结果。
2026-04-03 15:37:32
241
原创 在安卓体系中,kotlin相对java就全是优势,没有劣势的么?
如果你在维护一个稳定、庞大的纯 Java 旧项目,并且没有重构的需求,完全没必要为了跟风强行转 Kotlin,纯 Java 的编译速度和稳定性依然是顶级的。如果是新写一个 App 或者新模块,那么 Kotlin 是唯一选择。虽然它有编译慢点、语法复杂的劣势,但它换来的是代码量的锐减、极高的线上稳定性和开发效率。
2026-04-03 11:28:49
276
原创 是因为哪句代码,桌面的小控件窗口会有xxx的小控件?
如果没有 <action ...>:系统根本不知道你写了小组件,列表里绝对找不到它。如果没有 <meta-data ...>:系统虽然知道你有小组件,但因为不知道怎么在列表里画出它的尺寸和预览图,应用通常会报错或者无法正常添加到桌面。正是这两句代码的完美配合,才让你的“xxxx”小组件成功出现在了用户的手机桌面上!
2026-04-02 14:54:54
236
原创 Companion Object - 伴生对象 类比java中的什么?
你可以给伴生对象起名字(虽然少见),并且可以给伴生对象编写扩展函数。Kotlin// 自定义伴生对象名称// 调用// 给特定的伴生对象编写扩展函数!// 这看起来就像给外部类增加了一个新的“静态方法”// 调用val isFull = Task.isFull(12) // 这里的调用语法依然非常像 Java 静态方法Kotlin 的完全涵盖了 Javastatic关键字的功能,允许通过外部类名直接访问属性和方法。是一个真正的单例对象,而不是一个关键字修饰符。
2026-04-01 10:48:26
342
原创 LiveData / StateFlow / Compose State都是什么?有什么区别?
新项目,尤其是使用 Jetpack Compose:首选 StateFlow。它与协程无缝集成,功能强大,是官方推荐的现代化方案。维护旧的 View 系统项目:可以继续使用 LiveData,它简单且能很好地满足基本的 UI 状态更新需求。UI 层的状态:无论 ViewModel 使用StateFlow还是LiveData,最终在 Jetpack Compose 的 UI 层,都会被转换为 Compose State来驱动界面更新。
2026-04-01 10:30:35
333
原创 MVC和MVVM设计模式中对应的是什么组件?有什么对应关系?
Model 没有变:无论 MVC 还是 MVVM,底层的数据获取和存储逻辑都是相对独立的。View 更纯粹了:在 MVVM 中,View 被剥夺了业务决策权,退化为一个纯粹的“状态展示机”。Controller 进化成了 ViewModel:从**“主动命令 View 做事情 (Controller)”,变成了“我只管准备好数据,View 你自己看着办 (ViewModel)”。底层支撑这一变化的技术是数据绑定(DataBinding)或。
2026-04-01 10:12:33
318
原创 Hilt有哪些注解标签?都是什么意思?
当同一个类型(比如 String 或 OkHttpClient)有多种不同的实例需要提供时,用来作区分。@Qualifier作用:用于自定义注解。含义:比如你有两个 OkHttpClient(一个是带 Auth 拦截器的,一个是不带的)。你可以用 @Qualifier 自定义两个注解 @AuthClient 和 @NoAuthClient,注入时指明要哪一个,防止 Hilt 产生迷茫(不知道该注入哪个)。(Hilt 预定义)作用:标记在 Context 类型的参数上。含义。
2026-04-01 09:42:41
351
原创 安卓app体系中,room数据库和datastore是什么关系?有什么不一样?
把 DataStore 想象成“便利贴”或“控制面板”:它用来记录几个简单的开关和配置,轻量、快捷。把 Room 想象成“文件柜”或“仓库”:它用来分门别类地存放大量的数据记录,并且随时可以通过复杂的条件(SQL)把想要的数据快速检索出来。在实际开发中,你可能会在同一个 App 中这样配合使用:用DataStore记录当前登录用户的 userId 和夜间模式偏好;根据这个 userId,再用Room去数据库中查询并加载出该用户的详细历史订单列表。
2026-04-01 09:28:23
385
原创 安卓app kotlin语法,Hilt是什么东西?
在理解 Hilt 之前,先看一个通俗的例子。如果你要在 MainActivity 里用一个 UserService,你可能得自己 new 出来:private val userService = UserService(Database()) // 还要手动创建数据库依赖缺点: 如果 UserService 的构造函数变了,或者它依赖了更多东西,你得在每个使用它的地方都改一遍代码。
2026-04-01 03:25:16
320
原创 请详细解释一下MVVM这个设计模型
详细解释 MVVM 设计模型是目前 Android(乃至前端 Vue、iOS 等)最主流、官方最推荐的 UI 架构模式。
2026-03-31 20:35:20
439
原创 目前编写安卓app的话有哪几种设计模式?
目前在 Android 应用开发中,主流的架构设计模式主要有以下几种。随着 Google 官方对 Jetpack 组件和 Kotlin 协程/Flow 的强力推崇,整个行业的开发范式已经非常统一。按照和。
2026-03-31 19:44:03
431
有偿求助:让一个安卓9.0的硬件产品可以正常使用谷歌系列app
2021-04-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅