第十一次小组会议:进一步对接记录
会议时间:2018.6.7 18:00~23:00
会议地点:图书馆研讨室208
与会人员:吴雪晴、林静雯、涂涵越、康鑫、陈兆庭、胡宇晨
会议内容:UI两组、UI和数据库进行进一步的深入对接
为了提高对接效率,这次对接我们以小组形式进行。
一、康鑫、涂涵越
之前编辑界面和日记详情界面分在了两个UI组进行,考虑到用户体验以及富文本的展示,我们决定合为一个Activity,通过按钮、toolbar等的隐藏以及edittext能否编辑的设置来完成编辑和日记详情展示功能。
主要的对接工作:
(1)将布局合二为一。
遇到的问题有部分被toolbar遮挡、下方按钮位置不对等,主要在relativelayout和CoordinatorLayout的一些细节问题上,问题已解决。
(2)将活动代码合二为一。
因为编辑界面代码更复杂,主要是将日记详情界面的代码移入编辑界面代码,并做相应的修改。包括不同情况进入编辑界面的判断等等。
(3)修改其他活动的代码。
如intent传递的参数等,不同界面进入传递的参数不同。目前有三个界面进入:timeline的item,新建日记按钮、搜索结果界面进入,每种情况传入的参数都不一样。这些细节上也有很多问题,这里也不赘述。
修正的其他问题:
(1)日记详情界面菜单上的删除能用了。
(2)前一篇、后一篇日记的情况修复,之前的原因在于新建了一个diarylist然后再用index.of ()去找index,这样返回结果只能是-1。现在采用使用intent传入index,搜索结果界面进入时还要用bundle传入一个arraylist。
(3)搜索界面将获取当前时间的方法由calendar改为date,calendar 要求手机API版本24以上,对部分手机不友好,会造成闪退现象。
总结:现在能完成基本的写日记、搜索日记功能,富文本可能还需要进一步增强。
二、林静雯、吴雪晴、陈兆庭
之前UI与数据库的对接实现了删除瓶子和添加瓶子、以及删除纸条和添加纸条的功能,但没有将纸条与其所属的瓶子对应起来,只是单纯的将纸条插入到数据库中。这次实现了瓶子和纸条的对应关系。
(1)鉴于功能的需要,数据库组添加了方法:
sentencebook.getByName(helper,sentencebookname);
(2)由于我们对数据库的理解不算完全透彻,所以在对函数的使用上出了一些问题。几经周折我们明白了对一个纸条设置其所属的瓶子,只是对这个对象进行设置,但事实上其没有被插入到数据库当中,故app关闭时缓存清空,该纸条也就不复存在。也就是说不但要setSentencebook(),还要insert()。事实上我们应该从函数本身看出来的insert需要一个类型为DatabaseHelper的对象作为传入参数,而setSentencebook()没有。这也就解释了为什么所有的更新都要一个update()函数。
(3)对接当中我们发现数据库需要增加一个readme的属性,来记录对瓶子的描述。
三、林静雯、康鑫
这是UI两组之间的对接工作。主要是详情界面与其他界面之间的对接,主要工作就是将数据传给详情界面显示,并将编辑界面保存之后的数据传回给数据库并更新其他界面的显示。
(1)主要内容:主要是修改了一些其他活动的代码。例如将sentence类序列化,用Intent传递对象,将对象传给显示/编辑界面然后通过设置控件的内容进行显示和编辑。并删除了原来的详情界面,康鑫组的UI采用的是编辑界面和显示界面共用一个activity。还有一个就是将数据更新,在返回活动的时候在onResume()函数中调用了adapter.update()函数就行recycleview这个组建的更新,进行更新显示。更新的主要操作是重新从数据库中获取List 以保证list与数据库一致,并且notifyDataSetChange()来通知adapter数据更新了。更新这部分是题外话了,学姐傻傻的怕自己忘了自己是怎么写的了。
(2)遇到的问题:主要遇到的问题是Intent传递对象的时候报错了,,,。然后google了一下发现是如果一个类被序列化了,里面的有一个对象的话,那么该对象的类也要被序列化。所以将sentencebook也序列化就好了!
四、胡宇晨、吴雪晴
UI与数据库组关于标签功能的对接,主要实现标签的选择、存储、显示与调用,为之后依赖标签的情绪统计建立基础。
(1)主要内容:在日记详情&编辑界面添加标签窗口,支持选择标签(目前只设置了三个标签供选择),并且在选择完标签后立即在当前页面显示并插入数据库,从而实现标签的保存,根据数据库的接口,我们的日记可以对应多个标签,所以在显示的时候会常显最近设置的一个标签,点击该标签则会弹出其他标签(一共最多显示5个标签,按照创建时间逆序排列);
(2)遇到的问题:对数据库接口函数的使用方式以及返回值规范不清楚,例如相同的标签只能创建一次但可以加到不同的日记里,也可以多次加入同一篇日记,等等,可能是由于当时数据库组没有腾出足够的人手来对接所致。
(3)待解决的问题:目前还只有一个系列的标签(开心、一般、难过),我们之后会添加更多的属性标签比如说生活、感情、事业等等,我们计划是先在现有基础上做标签的统计以及作图功能。