本人想自己开发一个英语学习软件,基本功能类似于“百词斩”和“有道词典”,我可以查询单词也可以记单词。一个单词库,规定每天的学习计划。 请教怎么做?说说思路,或者涉及到的关键技术,谢谢。还有如果想实现软件收费,有什么方式?
这类软件主要有两方面的问题,一个是用户界面,一个是词典数据的存储和查询。
界面方面的关键技术没什么,任何高级编程语言都提供一套完整的界面编写工具,都能制作出精美强大的界面来;词典数据方面的关键技术就比较多了,存储结构一般采用各种树形结构(B树、B+树、B*树、后缀树等等),用来保证数据存储和查询的速度和有效性,还要根据字典数据中涉及到的文字考虑合适的存储编码,甚至还要考虑数据库的一些设计思想,比如事务处理机制(在多人在线使用的时候),数据恢复机制等等。这些都不是几句话就能说清楚的,针对每一项技术都有厚厚的一大本书来详细阐述。
收费机制有很多种,按软件套数收费、按使用时间收费、按版本收费等等。比较老式的验证方式有序列号、U盘验证等等,但是也都比较容易被破解。较新式有在线验证,通过即时生成的加密密钥来验证,比较不容易被破解。
另外也可以采用现在很多软件采用的盈利方式,就是软件的使用是免费的,在软件中插入广告来进行盈利。不过,去广告手段也有很多。追问
界面方面的关键技术没什么,任何高级编程语言都提供一套完整的界面编写工具,都能制作出精美强大的界面来;词典数据方面的关键技术就比较多了,存储结构一般采用各种树形结构(B树、B+树、B*树、后缀树等等),用来保证数据存储和查询的速度和有效性,还要根据字典数据中涉及到的文字考虑合适的存储编码,甚至还要考虑数据库的一些设计思想,比如事务处理机制(在多人在线使用的时候),数据恢复机制等等。这些都不是几句话就能说清楚的,针对每一项技术都有厚厚的一大本书来详细阐述。
收费机制有很多种,按软件套数收费、按使用时间收费、按版本收费等等。比较老式的验证方式有序列号、U盘验证等等,但是也都比较容易被破解。较新式有在线验证,通过即时生成的加密密钥来验证,比较不容易被破解。
另外也可以采用现在很多软件采用的盈利方式,就是软件的使用是免费的,在软件中插入广告来进行盈利。不过,去广告手段也有很多。追问
谢谢你
单词库,请问是用数据库自己做还是有免费的api?
温馨提示:答案为网友推荐,仅供参考