此为组内某一位做UI的同学的随笔。

之前的app由于没有加入数据库,所以每次重新启动里面的东西都会回到初始状态,即不能保存内容。我们的数据库小组已经很棒地基本完成了数据库的工作,于是我就准备加入数据库看看效果。

其实这个对接和之前结对项目UI和core对接很像,我不需要知道数据是怎么存的,我只需要按照他们的规范,调用他们提供给我们的函数。

我准备从写日记的timeline界面这个地方开始加入数据库。首先我们之前Diary有一个类,他们数据库也有一个类,第一步就是把我们代码里面用到的Diary类改成数据库用到的Diary类。主要的不同就是他们对日期的存储直接用了Date类,而我之前用的还是比较繁琐的一个个int或String型变量代表年、月、日、星期几等。然后我就去学习了Date类的用法。这里也不描述了,然后由于不熟悉,这里也遇到了一些问题,当然最后还是解决了。

还有就是一个由于我开始的代码中初始化里面有一个insert操作,然后我习惯性的写几行代码就运行一下,然后就不知不觉insert了好多好多diary,这还不是关键,关键是我往下滑,recycleview滑着滑着就闪退了QAQ。经过了各种debug(看他报的错或者用日志打印或者最初级的控制变量法注释代码2333)。(比较长的一段时间后)我发现是给recycleview的item设置日期相关的值时,由于我之前有的insert的Diary没有setDate,然后就类似于c语言对空指针做了操作,程序就崩溃了。所以初始化很重要很重要!!

再就是List的一个问题。我之前定义了一个List之后直接把函数返回值赋值给他,结果就出现了各种问题。然后先给这个list实例化(new ArrayList<>())后,这个问题就解决了。这也涉及到Java的知识,因为到现在对java还都是处于用的时候再去查的状态,很多东西都不是很清楚,所以代码运行就会出现各种问题,bug也不知道出现在哪里。

在我遍历List在数据库删除里面的元素时,总是出现删到一半就崩溃的情况,不过多运行几次也能全部删完。然后这个问题我还没想清楚是怎么回事。。。

实际上好像还不止这么些问题,但不管怎么说,至少UI和数据库在某一个地方合上了。万事开头难,我相信慢慢的就会越来越顺利的。

2018.6.2  20:00

UI第二组与数据库对接时遇到的问题记录的更多相关文章

  1. 完美解决VS2003.Net fatal error LNK1201: 写入程序数据库“.pdb”时出错

    我的开发环境是Win7旗舰64位+VS2003.Net,经常卡pdb错误,文末给出一个完美的解决方案和一个懒人补丁包.问题描述如下:在重新编译的时候,经常报错: fatal error LNK1201 ...

  2. 第二章 Oracle数据库应用

    第二章   Oracle数据库应用2.1 表空间和用户权限下管理    2.1.1 表空间        2.1.1.1 分类:            永久性表空间            临时性表空间 ...

  3. sql server: 数据库备份时出现-operating-system-error-5拒绝访问

    本文转自:https://blog.csdn.net/ibsfn/article/details/80770855 sql-server 数据库备份时出现-operating-system-error ...

  4. websocket实现数据库更新时前端页面实时刷新

    websocket实现数据库更新时前端页面实时刷新 javaweb 目录(?)[+] userjsp ManagerServletjava 如题,实现以上功能,我知道主要有两大种思路: 轮询:轮询的原 ...

  5. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第二组(转)

    四:脱机数据认证-可选终端进行脱机数据认证来,认证卡片.记住:对于某个事情,终端与卡片谁单独也说了不算,要二者都能干才能干. 终端依据卡片(AIP)和终端(终端性能)的支持情况,决定是否使用及使用哪种 ...

  6. Visio 2007中进行数据库建模时如何显示字段类型以及概念名称

    关于在VISIO中进行数据库建模时如何显示字段类型,以及注释的 1 如何显示字段类型:   在visio菜单上--->点击数据库--->选项--->文档    打开后选择表这项,在上 ...

  7. IE6/7/8中parseInt第一个参数为非法八进制字符串且第二个参数不传时返回值为0

    JavaScript中数字有十进制.八进制.十六进制.以"0"开头的是八进制,"0x"或"0X"开头的是十六进制. parseInt用来把字 ...

  8. Access 中数据库操作时提示from子句语法错误

    问题:如果在Access 中数据库操作时提示from子句语法错误原因:语句中某一单词为Access中的关键字.如:select * from user.其中user就是一关键字.解决:用中括号[]将其 ...

  9. Oracle-11g 数据库启动时,报错"ORA-01092"及"ORA-18008: cannot find OUTLN schema"

    适用情形: Oracle-11g 数据库启动时,出现类似如下错误. ORA-01092: ORACLE instance terminated. Disconnection forced ORA-18 ...

随机推荐

  1. 02-02:springboot 整合filter

    1.通过注解扫描完成Filter组件的注册 1.1编写filter (添加拦截的servlet) //@WebFilter(filterName = "FirstFilter",u ...

  2. PyCharm引入python需要使用的包

    在学习python的时候,被推荐了使用PyCharm这款IDE,但是在import包的时候却发生了问题- -无法找到相应的包,但是明明通过pip安装成功了 在这款IDE中,要导入包,需要手动进行引入 ...

  3. springboot-29-security(二)用户角色权限控制

    本博客基于上一个http://www.cnblogs.com/wenbronk/p/7379865.html 增加了角色的权限表, 可以进行权限校验 一, 数据准备 1, 数据表建立 /* Navic ...

  4. Tomcat学习总结(14)—— Tomcat常见面试题

    一.Tomcat的缺省是多少,怎么修改 Tomcat的缺省端口号是8080. 修改Tomcat端口号: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文 ...

  5. spring StopWatch用法

    背景 有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进 ...

  6. json.stringify()的妙用,json.stringify()与json.parse()的区别

    一.JSON.stringify()与JSON.parse()的区别 最近做项目,发现JSON.stringify()使用场景真的挺多,我们都知道JSON.stringify()的作用是将 JavaS ...

  7. Spring @ResponseStatus

    @ResponseStatus这个注解确实是个令我头疼的注解. 先记录下@ResponseStatus注解的定义. 记录几个得到的信息:@ResponseStatus声明在方法.类上, Spring3 ...

  8. ASP.NET MVC下载excel文档

    问题来自论坛: 很早以前,学习做asp.net练习时,就是分享过<ASP.NET MVC应用程序实现下载功能>http://www.cnblogs.com/insus/p/3615714. ...

  9. sql union 语句 case语句

    1:Union语句: 把两个结果合为一体(但是完全重复的数据会去掉) Eg1: select name, age, ‘学生无工资’ from student        union         ...

  10. Win10 注册IIs4.0的解决方案

    随着Win10的出现,越来越多的人装上了Win10,尤其是程序员,由于Win10是一个新的操作系统,但现有软件的兼容性等各方面都是未知,难免会存在很多坑,就拿IIS来说,我刚装完win10系统,然后装 ...