android记事本开发后记

来源:互联网 发布:越南南海知乎 编辑:程序博客网 时间:2024/05/18 03:57

在经历了对这个记事本的多次设计更改之后,我终于完成了一个尚可的记事本项目,从层次的角度来说,很多处代码毫无层次可言,对于后期的维护更改造成了很大的困难。但是即使是这样,我还是需要将这次的感受记录下来,留作以后反思。

功能层面:
1.便签编辑界面
我在便捷界面的菜单中放入了保存按钮,但是点击保存按钮后保存按钮就会消失,代表已经保存。菜单中有一个一直存在的按钮,删除按钮,在保存之前和保存之后都可以删除。我本以为设计完善,但是发现如果在保存之后将内容进行更改,将不会保存,这里的逻辑相对复杂,那么我干脆从简,无论点击保存还是删除,都会退出这个页面,这样就解决了这个问题。但是随之而来的问题就是如果需要在编辑界面添加功能,这时就无法添加了,因为保存之后就会退出界面。我需要在这里留下一个接口,以供后面的功能添加(这是我一直就考虑的分享功能,例如qq,微博,微信,邮件等等)。
2.便签显示界面
在这个界面上我花了不少的时间,只为一个小功能的实现。这个功能是长按删除功能(可以批量删除):长按之后所有的item都会弹出一个checkbox,可以选择其中的所有或者部分进行删除。
我遇到的第一个问题就是在我的接口的实现函数(长按监听函数),这个问题我在csdn上提问过,一个哥们给出了方法,我明白他说的,但是存在问题。我于是再度寻找,终于被我找到了问题的所在,我把viewHolder类中的变量checkBox设为静态变量了,每次调用onBindViewHolder函数的时候,改变checkbox的setVisible,checkbox都是一个对象,都指向一个item的checkbox。现在想想,还是那句话,基础不牢,地动山摇。
这个问题解决了之后,后面的事情就顺利了一点。
我在这功能的基础上添加了点击item而不仅仅是点击checkbox就可以更改chexkbox的状态,并且在顶部添加了全选和取消全选的按钮,可以完成全选和取消全选的功能。

逻辑层面:
关于逻辑,我只想提一个方面。
代码优化的时候,我将编辑界面的逻辑都理的很清楚,并且减少了代码函数,进行了冗余代码的删除。当我想要对适配器进行同样的操作的时候,发现代码逻辑复杂了一些,但是我还是将代码进行了优化,并且理清了思路。如果将这个适配器和便签显示界面的逻辑结合起来,就会变得很乱,我试图去优化,也优化了部分代码。现在想来,我对适配器的逻辑还不是很清楚。如果对适配器中的逻辑可以像编辑界面一样熟悉,那就不会有这样的问题。
如果各位有谁对我的代码感兴趣,那么可以去我的GitHub上下载这个项目,欢迎大家寻找bug,我将不胜感激。如果对我的这个项目有什么看法,也欢迎大家积极评论。
github地址:https://github.com/jackwindows9/Notepad

0 0
原创粉丝点击