六月上团队项目心得

六月上团队项目心得

      这半个月来,我主要做了三件事:

      1、与数据库进行对接。

      2、与UI进行对接。

      3、完善搜索功能和搜索框UI,以及修复各种各样的小bug。


 PART1 与数据库对接

       我们和数据库对接就和结对项目UI和core组对接很像。数据库方提供了接口函数以及必要的使用说明,我们在相应的位置调用这些函数,就能把数据存储下来。在每次重新打开app的时候(执行onCreate函数),重新从数据库里获取再显示出来。

       第一次与数据库尝试对接时我就遇到了一些问题。这是当时记录问题(感受)的一篇博客:UI第二组与数据库对接时遇到的问题记录。其中提到的list删除的问题实际上就是我自己java代码用for循环来删除写的有问题,不是数据库的问题。

       经过第一次的对接后,后面也比较顺利。目前实现的是在timeline界面和搜索结果界面是调用数据库来获取结果,而点击timeline和搜索结果的item还是采用的intent来传递参数实现显示内容。


 PART2 与UI进行对接

       与数据库对接的话大部分情况还能线上交流就好了,但是两个UI进行对接如果不线下交流的话,对接效果肯定不佳。这次对接不仅是把几个单独的界面用intent联系起来,而是将部分界面合起来。

       以下摘自当时写的一篇博客记录(我写的一部分):

   “ 之前编辑界面和日记详情界面分在了两个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以上,对部分手机不友好,会造成闪退现象。” 

       编辑、展示界面合二为一后,最基本的写日记功能实际上也就算实现了。现在主要是的问题是数据库那边目前对内容只是存string类型,这样编辑界面富文本的效果无法保存,所以即使编辑时设置了字体颜色什么的,重新打开也只是纯文字。


 PART3 完善搜索功能和搜索框UI等

       首先就是改搜索框的UI,之前就是用他默认的效果,其实这样显示在toolbar上并不是特别美观,特别是是我照着教程也没法按着我的想法去改那个searchview和navigationicon的距离。。我就决定将搜索框改为白色圆角矩形为背景的那种。在改这个时候,又遇到了问题。就是他默认的图标颜色以及字体颜色全部都是白色,一般更改他们有两种方法,一是在xml里改,这种貌似叫静态设置,另一组就是在代码进行动态设置。网上虽然有很多教程,但是我不得不说,网上有些教程真的是坑,我很多时间就是浪费在了他们上面。但其实很多教程大部分是没问题的,就是有一些小问题有错,我也不知道是不是版本的问题。

       在对这些控件进行设置的过程中,我也有一点心得,就是有时与其去找各种教程,不如直接在android studio里去看这个控件的类里面有哪些变量、有哪些方法。很多都是互通的。比如我找的教程只有对seachview的字体颜色进行设置,但其实我要修改图标原理也都是一样的。只不过findviewbyid的参数不一样。之前也看了一些教程的教程,就是教为什么应该这么做,教程里说的也是去一层层看布局的父布局,去找究竟是哪一句话导致了目前的效果。

       再说搜索功能上,目前增加了限制时间范围的搜索,也修改了搜索的一些问题。遇到的一个比较大的bug就是搜素结果界面点进去后上下篇日记会出错,原因在于我使用的list还是包含所有日记的list,实际上应该使用指包含搜索结果的这个list。


小小的总结

       说是半个月的工作其实最近几天都没怎么工作,毕竟要考试了。我们现在的东西怎么说呢,能实现写日记写瓶子倒是可以,但是离我们最初的最核心的设想还是差了一些,等这一阵子过了大家都有时间了,应该就能做的更好。

原文地址:https://www.cnblogs.com/hytu/p/9185569.html