今梦

视频剪辑大赛的常驻嘉宾,一个热衷于互联网冲浪的资深文青,今日份限定,我喂你全糖去冰,齐活啦,天坦读屏里的那些事儿,我陪你一起倒腾!
入驻时间: 4年前
今梦评论的话题
今梦 2天前 评论了 今梦 创建的话题 › 聊天才是提示词,和你的 AI 交流不要再写大段的 prompt 了

对,就是整理自此前和群里的一起的一些零碎的聊天记录。如果不整理,我觉得会忘。所以写出来等于也是一个加深印象的过程。

今梦 2天前 评论了 今梦 创建的话题 › 聊天才是提示词,和你的 AI 交流不要再写大段的 prompt 了

怎么说呢?我其实教大家的是一种方法论。这种方法论的前提是教你们如何去用 AI 协作,或者说如何高效的用 AI 协作。在这个与 AI 不断的沟通和让 AI 不断拷问我们的过程中,不可避免是需要触动我们思考,进而把我们脑中的那些抽象的思想给表达出来。而这个过程我觉得也是一个思考和思辨的过程。还有一个是和 AI 的沟通过程中,并不是意味着你一点都不学习的。它一定是会逼着你,或主动或被动的去学习一些东西。比如当你自己都不知道某一个现象是具体怎么导致的时候,比如说缺失无障碍标签这句话你都不会表达,那对于 AI 来说,它也是 get 不到你的。所以说,我不认为使用 AI 会让我们脑子变笨,合理利用工具是非常有必要的,不用太过焦虑。

今梦 3天前 评论了 今梦 创建的话题 › 聊天才是提示词,和你的 AI 交流不要再写大段的 prompt 了

第四章 别急——软件是一点点叠出来的

我最早做这个音乐播放器,花了一周多才出第一个正式版。中间无数次“感觉又做砸了”——崩溃日志不生效、某个逻辑跑不通、无障碍改完跟没改一样。这都是正常的。

不要一次性把所有需求塞给AI

AI的能力有上限,一个Bug就可能让它产生幻觉,你把整个工程一次性扔给它,幻觉相当于叠满了。

正确做法:一点一点来,一个功能一个功能地叠加。普通人写一个像样的软件本来就需要很长时间,AI已经大大缩短了,但依然不可能一蹴而就。

逻辑跑通之前别碰UI和无障碍

核心逻辑没跑通之前,绝对不要碰UI,更不要碰无障碍适配。后面很可能因为逻辑问题重构页面,一重构,前面所有UI工作和无障碍适配全返工。

先把功能跑起来。逻辑稳定了、数据层服务层都OK了,再让AI优化界面。整个项目结构稳定了,再考虑无障碍适配。

不确定的时候让AI先问清楚

不确定某个问题该怎么描述,或者不确定AI是否理解了你的意思,停下来。让AI先问你,而不是你直接命令它怎么做。

比如AI应该问你:“你觉得什么样的UI风格适合你的需求?”“你希望读取文件是直接读源文件,还是复制一份到APP目录?”“这个功能希望支持哪些操作手势?”

当AI用一系列问题把抽象想法具象化之后,做出来的东西才准确。不懂编程的情况下,不要限定AI发挥,让AI通过提问来榨干你脑海里的想法。

关于充钱

还没想清楚要做什么,不建议先花钱买Token或买服务器。AI产品不便宜,额度买了不用就是浪费。明确要落地某一个具体需求时,再投入资源会好一些。

写在最后

不要因为自己不懂,就放弃表达和确认的权利。

不懂代码,但你懂自己的需求。不懂无障碍的技术实现,但你懂TalkBack摸上去是什么感受。不懂架构设计,但你懂“这个软件用起来顺不顺手”。

把这些“你懂的东西”清晰地说给AI听——用客观、中性、不带情绪的语言描述现象,把解决方案的判断权留给AI,然后在一个功能一个功能的迭代中慢慢打磨。你不是在写代码,是在用自然语言做产品设计。

这条路注定不会太快,但只要你坚持“先跑通逻辑、再打磨细节、最后优化UI”的顺序,坚持“不把需求一次性塞完、一个功能一个功能叠”的节奏,坚持“用客观描述代替主观评价、用现象代替指令”的沟通方式,你一定能做出一个真正能用的东西。

我已经做到了,你也可以。

今梦 5天前 评论了 今梦 创建的话题 › 我用AI手搓的歌词播报APP梦仔伴唱更新啦

v2.3.0更新

【修复】

· 修复 Android 10+ 系统下部分本地音乐无法播放的问题(Scoped Storage 权限限制导致文件可读性误判)

· 修复搜索结果列表点击播放或试听时跳转至错误歌曲的问题

· 修复播放状态机在 MediaPlayer 为空时状态异常的问题

【无障碍优化】

· 修复设置页开关状态播报缺失或重复朗读的问题

· 优化开关聚焦与点击时的播报文本,精简冗余信息

· 修复搜索平台选择状态不读“已选中/未选中”的问题

【其他优化】

· 修复部分场景下动画在后台持续运行导致的性能开销

· 统一平台配置管理,简化后续新增平台接入流程

https://www.guangyapan.com/s/1916399131896406100_aeWhjBu726g3wbT0
今梦 5天前 评论了 今梦 创建的话题 › 我用AI手搓的歌词播报APP梦仔伴唱更新啦

哈哈哈,不过真的很感谢浅念提供的,所以就署名了一下

今梦 6天前 评论了 今梦 创建的话题 › 我用AI手搓的歌词播报APP梦仔伴唱更新啦

大概要两三百的样子哎

今梦 6天前 评论了 今梦 创建的话题 › 我用AI手搓的歌词播报APP梦仔伴唱更新啦

Perform Accessibility Actions 快速指南

核心原理

TalkBack 用户聚焦到 View 后,上滑/下滑可在操作菜单中切换,双击执行。开发者通过 AccessibilityDelegate 注册自定义操作,让视障用户无需长按菜单即可访问所有功能。

实现三步

1. 声明 Action IDres/values/ids.xml

<item type="id" name="accessibilityActionEdit" />
<item type="id" name="accessibilityActionDelete" />

2. 注册操作onInitializeAccessibilityNodeInfo

ViewCompat.setAccessibilityDelegate(view, object : AccessibilityDelegateCompat() {
    override fun onInitializeAccessibilityNodeInfo(host: View, info: AccessibilityNodeInfoCompat) {
        super.onInitializeAccessibilityNodeInfo(host, info)
        info.addAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat(
            R.id.accessibilityActionEdit, "编辑"
        ))
    }
})

3. 处理执行performAccessibilityAction

override fun performAccessibilityAction(host: View, action: Int, args: Bundle?): Boolean {
    if (action == R.id.accessibilityActionEdit) {
        doEdit()
        return true  // 必须返回 true,否则事件继续传递
    }
    return super.performAccessibilityAction(host, action, args)
}

关键技巧

  • 动态标签:根据状态变化,如 if (isPlaying) "暂停" else "播放"
  • 低版本兼容:Android 12 以下不支持自定义 action,让按钮单独 isFocusable = true
  • 操作后播报view.announceForAccessibility("已展开") 告知用户结果
  • 重命名默认操作ViewCompat.replaceAccessibilityAction() 把默认点击改成"播放"/"暂停"
  • 列表项索引info.setCollectionItemInfo() 让 TalkBack 念"第X项,共Y项"

项目实战位置

  • 搜索结果试听:SongAdapter.kt:136-169
  • 本地音乐三项操作:LocalMusicFragment.kt:930-962
  • 悬浮球八项操作:FloatingBallView.kt:282-352
  • 设置页折叠/展开:SettingsActivity.kt:153-169
  • 播控栏展开/收起:SearchPlaybackBar.kt:1521-1594
今梦 1周前 评论了 今梦 创建的话题 › 给大家同步一下,公众号助手已修复开启屏幕阅读器不能粘贴的问题

输入法的粘贴不会保留hTMl的格式哦

今梦 2周前 评论了 今梦 创建的话题 › 我用AI手搓了一个K歌提词器,提前读歌词,献给爱唱歌的视障朋友

欢迎体验

今梦 2周前 评论了 今梦 创建的话题 › 我用AI手搓了一个K歌提词器,提前读歌词,献给爱唱歌的视障朋友

你要做画面识别模型,肯定要接那种类似于蓝星大模型或者Gemini这种的,不然的话它都没有识别引擎