一个词典小demo总结
耗时5天,把词典的小练习做出来了。
需求如下:
注意,要使用Java的Swing,进行界面开发。
主要有5个功能:
1.给出中文提示,输入英文,判断错误。
2.给出英文提示,输入中文,判断错误。
3.可以随意切换模式,就是如果当前是给出中文提示的话,点击切换按钮后,会变成给出英文提示,相应的判断等也要做出相应的改变。
4.记错本,只要是在背诵过程中,错过的单词,都会出现在记错本中。然后,有一个模式就是背诵错误单词,访问记错本,对里面的单词进行背诵。背诵正确后,那个单词会在记错本中消失。
5.记忆功能,假设词库中一共有1000个单词,上次背诵到了第500个的话,下一次将从第501个开始背诵。
主要有5个功能:
1.给出中文提示,输入英文,判断错误。
2.给出英文提示,输入中文,判断错误。
3.可以随意切换模式,就是如果当前是给出中文提示的话,点击切换按钮后,会变成给出英文提示,相应的判断等也要做出相应的改变。
4.记错本,只要是在背诵过程中,错过的单词,都会出现在记错本中。然后,有一个模式就是背诵错误单词,访问记错本,对里面的单词进行背诵。背诵正确后,那个单词会在记错本中消失。
5.记忆功能,假设词库中一共有1000个单词,上次背诵到了第500个的话,下一次将从第501个开始背诵。
主要功能都做出来了,但是因为没试过做过东西,所以有很多方面没达要求。
一、导包。我是这样导的。对此,师兄说,用ide编程,导包尽量具体,为的是避免类名重复,虽然概率很低。
二、连接数据库的sqlhelper类,当时,我没有用到配置文件。对此,用了配置文件,没把数据库参数耦合到代码里,就可以让其他人运行代码的时候不用修改你原先的代码,只需要修改配置文件。
三、关于static的。我创建了多个处理器类,其中每一个类都只有一个方法,一个static的方法,当时我想的就是,可以不创建对象直接使用一个类的方法。这习惯不好。因为static不能被回收,会浪费本不需要的内存。对于安卓程序来说,内存更是吃得紧。
四、关于业务逻辑。同样是上图。其实上图那么多个类,都是相同的业务逻辑,应该被封装到同一个类中,不应该分开。
五、关于数据库的。我在检查答案的时候,把检查的步骤,放到了数据库去验证。这不好,因为数据库十分重要,一个处理不慎,数据丢失,就真的是大问题了。因此,能不在数据库解决的问题,尽量别放在数据库去解决。
六、关于javaswing的。我的主界面如下
问题就是,我在弹出新窗口后,没有屏蔽原窗口的点击。比如,我点击了“英译汉”,就会有一个新界面,但是,在原界面里,我再点击其他按钮,还是会响应的。这是个大问题为此,我把子窗口的JFrame改成了JDialog,然后把界面锁定在dialog上。
以上,就是全部总结了。