建筑行业、0代码知识、用SOLO做了一个搜题软件

1.摘要

使用SOLO,我在零编程基础的情况下,独立开发了一款培训考试的多平台题库搜题软件。软件支持Excel/CSV题库导入、摄像头OCR扫题和悬浮窗跨应用搜题,核心功能已完整实现,大幅提升了考试答题效率和准确率。

2.背景

建筑行业,这是一个传统夕阳产业,内卷化严重。每周考试、每月考试、季度考试、各种考核虽然毫无意义,但随时面临绩效C警告 。

考试前公司会提供题库,但考试时间越来越短——从最初的30分钟压缩到现在的15分钟甚至10分钟,题量却越来越大。一边搜题一边作答根本无法在规定时间内完成考核,使用现有的搜题软件由于题库不一致,无法保证答案正确性,搜出来的题目答案和个公司题库答案不一致。于是,我决定自己开发一个搜题软件:支持导入公司题库、本地精准匹配、悬浮窗实时搜 索。

3.实 践过程

3.1 任务拆解

作为编程小白,我一开始根本不知道从何下手。通过和SOLO对话,它帮我把整个项目拆解成了清 晰的步骤:

第一 步:明确需求

能导入 Ex cel 题库

能根据 题目文字搜索匹配

能在其他应用上层悬浮 显示(边看题边搜)

最好能 用摄像头直接拍题搜索

第二步:技术选型

Androi d 平台(手机最方便)

Kotlin + Jetpack C ompose(官方推荐)

Room 本地数据库(不需要联网)

CameraX + ML Kit(拍照识 文字)

第三步:分模块开发

1. 数据库模块(存题目)

2. 搜索引擎模块(匹配题目)

3 . UI 界面模块(五个底部标签页)

4. 悬浮窗模块(核心功能)

5. 会员系统模块(后期 加)

3.2使用的SOLO能力

SOLO能力 具体用途 自然语言编程 用中文描述需求,SOLO自动生成代码 代码调试 报错时把日志贴给SOLO,它帮我定位问题 架构设计 帮我设计Clean Architecture分层架构 算法实现 描述找相似题目需求,自动生成Levenshtein匹配算法 文档编 写 自动生成软著申请用的操作 说明书和源代码文档

3.3关键开发流程

阶段 一:搭建基础框架

我的第一个Prompt

帮我创建一个Android搜题软件,底部有五个标签页:首页、学习、扫题、悬浮扫题、设置。使用 KotlinJetpack Compose

SOLO直接生成了完整的项目结构,包括导航配置、主题设置、五 个空页面框架。我只需要运行测试 ,看到界面就很有信心继续。

阶段二:实现核心搜索引擎

我的Prompt

我需要一个搜索引擎,用户输入一段题目文字,在本地题库中找 到最相似的题目。相似度要达到语义级别,不是简单的关键词匹配。

SOLO给我实现了 基于Levenshtein编辑距离的搜索算法,还 自动加入了:

中文分词(Bigram/Quadg ram

停用词过滤

缓存优化( LRU Cache

三种匹配 级别(精确/模糊/关 键词)

阶段三:悬浮窗功能(最难的部分)

我的Prompt

我需要一个悬浮窗功能, 可以在其他应用上层显示 一个扫描框,框选屏幕上的题目区域,自动识别文字并搜索。

这个功能涉及到:

前台服务(Fore ground Service

MediaProj ection屏幕捕获

WindowManager悬浮窗

协程定时截图

SOLO一步步帮我 实现了所有组件,还 处理了Android各版本的兼容性问题。

阶段四:完善功 能与优化

后续添加了 :

Ex cel/CSV导入 导出(Apach e POI

摄 像头OCR扫题

刷题练习模式

错题本和收藏夹

会员 激活系统

3.4踩过的坑

坑一:悬浮窗权限问题

现象 :悬浮窗图标不显示,但没有任何报错

表面原因 :我以为代码写错了

根本原因 :Android系统 需要在设置中手动开启显示在其他应用上层权限,不同品牌手机(小米、华为、OPPO )的设置路径还不一样

解决 :学会看Logcat日志后,发 现是权限被拒绝,SOLO帮我加了权限 引导界面

坑二:内存泄漏导致崩溃

现象 :悬浮窗用了几分钟后软件闪退

表面原因 :以为是悬浮 窗代码有问题

根本原因 :屏幕捕获产生的Bitmap没有及时释放,导致OOMOut Of Memory

解决 :SOLO教我在截图处理完后调用bi tmap.recycle(),并优 化了图片尺寸

坑三:搜索性能差

现象 :导入 1000道题后,搜索一次要等好几秒

表面原因 :以为是搜索算法太慢

根本原因 :每次搜索都从数据库读全部数 据,没有缓存

解决 : SOLO帮我加了LruCache和数据缓存(30秒有效期),搜索时间从几秒降到100毫秒以内

最大 的教训:学会看日志

一开始遇到报错,我只能用大白话描述" 软件闪退了“”页面卡住了"S OLO很难定位问题。后来学会 了:

1.打开Android StudioLogcat

2.复制 红色的Error日 志

3.直接贴给SOLO

问题解决速度直接提升了10倍!有时一个卡了两三天的问题,看日志后几分钟就解决了。

4.成果展示

目前软件只有安卓版本。软件还在申请软著、在安装时候可能会提示“应用是非正式发布版本,当前设备不支持安装‌”等提示、可在设置里关闭纯 净模式等设置。 软件体验:通过网盘分享的文件:题库搜题.apk 链接: https://pan.baidu.com/s/1p1PAqsN4z_UpFubojSX-Ug?pwd=5hza 提取码: 5hza

软件首页

使用摄像头扫题(用于在电脑上考试或有两台手机)

使用悬浮窗扫题(只有一部手机时使用)

5. 效果与总结

5.1 提效成果

从事建筑行业 ,0代码知识,原本是不可能实现的,现在SOLO完成了这个软件。

整 体提效:100%以上

5.2可复用的方法

一:分步拆解,小步 快跑

不要一上来就让AI 生成整个项目。把大需求拆成小任务,一个 一个完成:

:cross_mark: 错误做法: 帮我做一个完整的搜题软件

:white_check_mark: 正确做法:

第一步:先做底部导航栏

第二步:再做首页的题库导入

第三 步:然后做搜索引擎

第四步: 最后做悬浮窗

二:学会看日志 ,精准反馈

遇到报错时,不要只说出错了。学会:

1.打开Logcat/控制台日志

2.复制Error级 别的日志

3.原封不动 贴给SOLO

4.描述你看到的现象和预 期结果

三:多轮迭代,持续优化

AI生成的代码不一 定完美,需要多轮对话优化:

第一轮:生成基础功能

第二轮:优化性能(加缓存)

第三轮:处 理边界情况(空数据/ 大文件)

第四轮:完善 UI 和用户体验

四:即时手动保存备份

SOLO在一个对话中对话久了后或者在同一个问题反复折腾的时候、及时重新开新对话、把代码手动备份。

5.3个人感悟

作为一个建筑行业的从业者,编程对我来 说完全是另一个世界的东西。以前觉得开发一个APP是不可想象的事情,现在通过SOLO,我不仅做出来了,还准备申请软件著作权、上架应用市场。最大的收获不是软件本身,而是打破了我不会编程这个心理障碍。