华南农业大学吧 关注:208,936贴子:3,878,914
  • 7回复贴,共1

软件工程的同学在哪里?给你们找了个大创项目

只看楼主收藏回复

我明白您的需求:您希望找到一款安卓输入法,支持“工作模式”(允许NSFW敏感词汇联想)和“日常模式”(仅SFW安全词汇联想),并且两种模式的词库要完全隔离,以保护隐私并避免混淆。您特别提到想在 GitHub 上寻找开源解决方案。基于此,我对 GitHub 上的开源安卓输入法项目进行了调研,并结合您的具体需求分析如下。
### GitHub 上现有的开源输入法项目我在 GitHub 上搜索并检查了一些知名的开源安卓输入法项目,包括但不限于以下几个:
1. **AnySoftKeyboard** - **简介**:AnySoftKeyboard 是一款高度可定制的开源输入法,支持多语言、主题切换和词典管理。 - **GitHub 地址**:https://github.com/AnySoftKeyboard/AnySoftKeyboard - **分析**: - **优点**:支持导入自定义词典文件,您可以创建两个词典(NSFW 和 SFW),并通过手动切换词典来模拟“工作模式”和“日常模式”。它是完全开源且注重隐私的,不会将数据上传云端。 - **不足**:没有内置的双模式切换功能,词库隔离需要依赖手动导入/导出词典文件,且切换过程不够自动化。如果不小心加载了错误的词典,NSFW 词汇可能在日常模式下出现。 - **适用性**:接近您的需求,但需要手动管理词典,无法做到完全自动化的模式切换和词库隔离。
2. **OpenBoard** - **简介**:OpenBoard 是一款基于 AOSP 键盘的开源输入法,注重隐私和简洁。 - **GitHub 地址**:https://github.com/openboard-team/openboard - **分析**: - **优点**:支持基本的自定义词典功能,可以通过手动添加词汇来区分 NSFW 和 SFW 内容。它是 100% 开源、无跟踪,完全本地化运行。 - **不足**:词典管理功能较弱,没有明确的模式切换机制,词库隔离只能通过手动清空或替换词典实现,操作繁琐。 - **适用性**:隐私保护方面符合要求,但功能上远未达到您的双模需求。
3. **FlorisBoard** - **简介**:FlorisBoard 是一款现代化的开源输入法,目标是提供隐私友好和高可定制性。 - **GitHub 地址**:https://github.com/florisboard/florisboard - **分析**: - **优点**:支持扩展性和自定义词典,理论上可以通过插件或配置实现不同场景的词汇管理。它是活跃开发中的项目,社区支持较好。 - **不足**:目前版本(截至 2025 年 3 月)没有内置的双模式切换或词库隔离功能,实现您的需求需要自行开发插件或修改源码。 - **适用性**:有潜力通过定制满足需求,但现成版本无法直接使用。
4. **Other Smaller Projects** - GitHub 上还有一些较小的输入法项目(如 Simple Keyboard、Hacker's Keyboard),但它们通常功能单一,专注于基本输入而非词汇管理或隐私场景切换,完全不满足您的需求。
### 当前结论遗憾的是,在 GitHub 上现有的开源输入法项目中,没有一款直接内置“工作模式”和“日常模式”切换功能,同时保证词库完全隔离的输入法。这些项目大多提供了词典自定义功能,但模式切换和词库隔离需要用户手动操作,或者通过额外的开发工作实现。这与主流输入法的设计哲学有关:它们通常追求统一的词库管理和智能化联想,而非场景化的严格隔离。


IP属地:日本来自Android客户端1楼2025-03-06 19:57回复
    ### 可行的解决方案虽然没有现成的项目完全满足您的需求,但基于 GitHub 上的开源输入法,您可以通过以下方式实现目标:
    1. **基于 AnySoftKeyboard 定制** - **步骤**: 1. Fork AnySoftKeyboard 的代码库。 2. 添加一个模式切换界面(例如在设置中增加“工作模式”和“日常模式”选项)。 3. 修改词库管理逻辑,使其支持两个独立的文件存储(NSFW 和 SFW),并在模式切换时加载对应词库。 4. 确保切换后之前的词库不会影响当前模式(例如清空缓存或禁用动态学习)。 - **优点**:AnySoftKeyboard 的代码结构清晰,社区活跃,定制难度相对较低。 - **挑战**:需要一定的安卓开发经验(Kotlin/Java),特别是对输入法框架(Input Method Framework)的理解。 - **时间成本**:如果您有开发基础,可能需要几天到一周完成初步实现。
    2. **结合 Tasker 自动化** - **方案**:使用 AnySoftKeyboard 或 FlorisBoard 的现有词典功能,配合安卓自动化工具 Tasker(或类似应用),根据场景自动导入不同的词典文件。例如: - 在工作地点/时间段加载 NSFW 词典。 - 在其他场景加载 SFW 词典。 - **优点**:无需修改源码,依赖现有工具即可实现。 - **不足**:仍然不够无缝,Tasker 的自动化可能有延迟或误判,且需要手动维护词典文件。
    3. **从零开始开发** - 如果您有开发能力,可以基于安卓的 Input Method Framework 从头构建一个输入法,专注于双模切换和词库隔离。这种方案能完全满足需求,但开发周期长(数月以上),适合长期项目而非即时需求。
    ### 我的建议如果您急需一个解决方案,建议先尝试 **AnySoftKeyboard + 手动管理词典**:- 下载 AnySoftKeyboard(可从 GitHub Releases 或 F-Droid 获取)。- 创建两个词典文件(NSFW 和 SFW),在工作时手动导入 NSFW 词典,日常时切换到 SFW 词典。- 测试其词库隔离效果,确保日常模式下不会出现敏感词汇。
    如果您有开发能力或愿意投入时间,Fork AnySoftKeyboard 并添加双模功能是最直接的路径。我可以进一步提供技术指导,比如代码修改的方向或示例逻辑,您有兴趣吗?
    ### 您的想法?您觉得手动管理词典可行吗?还是更希望有一个自动化方案?如果您想在 GitHub 上找其他项目或需要开发建议,请告诉我,我会继续帮您挖掘或细化方案!


    IP属地:日本来自Android客户端2楼2025-03-06 19:57
    回复
      广告
      立即查看
      问了grok,目前市面上和github上都没有满足这种需求的输入法


      IP属地:日本来自Android客户端3楼2025-03-06 19:58
      回复
        要是没有同学尝试,我就要自己折腾了


        IP属地:日本来自Android客户端4楼2025-03-06 19:59
        回复
          神人


          IP属地:广东来自Android客户端5楼2025-03-07 08:18
          收起回复
            申报的时候吹上天,结题前sql蒙混过关


            IP属地:广东来自Android客户端6楼2025-03-10 02:19
            回复
              强的


              IP属地:广东来自Android客户端7楼2025-03-17 00:38
              回复