用户头像
forcode
 · 福建  

今天用Claude设计了一个Android应用程序,这也是我在AI辅助下设计的第一个app,经过多次修改,最终基本符合我的需求。全程大部分环节使用最贵的Opus模型,累计花费了八十块钱的tokens成本,这个成本,其实还不如直接付费购买现成软件了,但确实验证了,目前Claude code这样的编程助手,已经可以让普通人设计出功能完整的安卓App了。
以下是我的用文字描述我的需求:
帮我设计一个支持TTS文本朗读的android版APP:
app启动后,默认打开播放列表界面,该列表每行显示每个txt文件名前15个字符、修改日期、文件大小。播放列表上方,提供排序按钮,支持按文件名、修改日期、文件大小进行排序,还支持按关键词筛选,输入关键词后,播放列表只显示和播放符合该关键词的搜索结果,去掉关键词后,显示未播放过的所有txt文件列表,修改排序后,按新的排序播放。播放列表每行最左侧,有一个拖动图标,按住该图标上下拖动,可以手工调整该txt文件在播放列表中的位置。
可以设定播放目录、关键词,打开app后,自动刷新“播放目录”的txt文件列表,将该目录下新增加、不在播放列表且文件名包含“关键词”的txt文件,自动更新到播放列表下方。
点击播放列表中任一txt文件名,进入该txt文本阅读界面,将调用设定好的tts引擎朗读该txt文本内容,并且跟随当前播放进度自动翻页,自动高亮当前正在播放的句子,下方显示播放控制按钮:播放/暂停、tts引擎选择、播放速度、音量、音掉高低、快进快退30秒;文本阅读界面顶部,显示2行txt文件播放列表:当前播放的txt文件的文件名前15个字符、修改日期、文件大小,当前播放文件名的下一条txt文本;文本阅读界面底部显示“已播放**%,预计剩余**分钟,**分钟后睡眠”。文本阅读界面右上方,点击设置,可以设置字体大小、背景色、字体颜色和睡眠倒计时时间(分钟),比如设定20分钟,则开启倒计时,倒计时为0分钟后,暂停播放,并且保存当前播放进度。
播放完当前txt文件后,将该txt文件从“播放列表”中移除(不从系统删除该文件,仅仅是从app的播放列表中移除),停顿3秒,自动播放“播放列表”中下一个txt文件。
整个APP支持主题颜色设置为深色或浅色。
在播放过程中,每隔10秒,自动保存一次当前播放进度,以免app被意外终止时,来不及保存播放列表。上述方案中,注意不要有乱码。该app支持中文和英文两种界面语言的切换。
------------------
在播放列表的界面,需要添加全选、反选后删除功能,比如进入选择模式之后,点击每行左侧的复选框,就可以将需要操作的项目选中,然后进行删除;在播放列表中往左滑动单条记录,就可以在文件名右侧出来一个删除按钮,点击就可以从播放列表中删除该条记录。
另外,文本阅读的界面要能够支持UTF-8以外的中文编码格式的正常显示。现在有的文件文本文件会出现乱码。
在点击右上角文件夹图标、打开文件目录的时候,默认按文件修改时间降序排列显示所有txt文件,顶部可提供按文件名、文件大小排序的功能,排序功能旁边有一个选择导入的按钮,或者在该界面长按任意txt文件,进入选择模式,每行文件名左侧出来复选框,可以手工选择需要加入播放列表的文件,顶部有全选、反选的文字按钮,选择完毕后,点击下方的“加入播放列表”按钮,要弹出一个确认框,是否将选中的文件导入到播放列表,点击确认就加入播放列表;选择取消的话,就不会导入到播播放列表中,并且返回到播放列表的界面。
关键词筛选框上方显示的是当前选择的默认播放目录,当该目录有新的txt文件,下次启动时,应该自动检查该目录的新txt文件,并且增量添加新文件到播放列表中,省了手动更新的步骤。
在播放列表的上方应该有一个播放列表筛选项。比如说可以选择已播放、未播放、全部,这样的几个选项,默认展示“未播放”列表。对于已经播放过的那种TXT文本文件,如果在筛选中选择已播放或者是选择全部的时候,应该也可以看得到。要将文本文件完整路径(含文件名)存入到已播放记录数据库里面,在下一次添加播放列表时进行比对,并且显示选择导入*条、其中*条已在播放列表、*条新添加到播放列表。如果这个txt文件在之前已经播放完毕,重新导入时也不要显示为未播放,也仍然要显示为已播放,以免重复添加。
在播放列表界面重新排序,或者手工拖动排序后,按照排序后的播放列表播放,相应的文本阅读界面顶部的下一个播放备选项,也相应要更换为新播放顺序中当前播放文件后面的下一个文件。
在文本阅读界面的播放控制按钮中,音调这个滚动条调整了之后,好像这个音高音低并没有变化,是不是相关代码有问题?这个播放控制界面最好有个播放进度条,可以直接拖动到任意位置,这样可以快速跳过不想听或者是已经听过的段落,拖动后,文本阅读相应跳到相应段落高亮显示。文本播放界面顶部的当前和下一个列表,应该支持点击后切换播放文件。
还有在选择黑暗模式的时候,当前正在播放的段落能够高亮正常显示,但是当前未播放的其他段落,字体的颜色太深,跟深色的背景混在一起,看不清,这个需要做一个修改,其他段落的字体颜色改为与当前正在播放段落字体颜色不同的浅灰色字体。在播放控制中选择TTS的时候。目前只能看到当前系统默认的TTS引擎的默认语音,该TTS引擎的其他语音看不到。最好是能够可以直接进行修改选择该手机支持的所有TTS语音。
在文本阅读界面,长按特定段落后,切换到当前段落开始播放。
从文本阅读界面开启播放后,点击手机返回键,退回到“播放列表界面”,后台声音仍在继续播放,这是合理的,但播放列表界面底部应该也出来当前播放控制模块,让我可以在播放列表界面了解当前正在播放哪个文件,并且可以调整播放参数。

图片

图片