UI第二组与数据库对接时遇到的问题记录
此为组内某一位做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第二组与数据库对接时遇到的问题记录的更多相关文章
- 完美解决VS2003.Net fatal error LNK1201: 写入程序数据库“.pdb”时出错
我的开发环境是Win7旗舰64位+VS2003.Net,经常卡pdb错误,文末给出一个完美的解决方案和一个懒人补丁包.问题描述如下:在重新编译的时候,经常报错: fatal error LNK1201 ...
- 第二章 Oracle数据库应用
第二章 Oracle数据库应用2.1 表空间和用户权限下管理 2.1.1 表空间 2.1.1.1 分类: 永久性表空间 临时性表空间 ...
- sql server: 数据库备份时出现-operating-system-error-5拒绝访问
本文转自:https://blog.csdn.net/ibsfn/article/details/80770855 sql-server 数据库备份时出现-operating-system-error ...
- websocket实现数据库更新时前端页面实时刷新
websocket实现数据库更新时前端页面实时刷新 javaweb 目录(?)[+] userjsp ManagerServletjava 如题,实现以上功能,我知道主要有两大种思路: 轮询:轮询的原 ...
- PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第二组(转)
四:脱机数据认证-可选终端进行脱机数据认证来,认证卡片.记住:对于某个事情,终端与卡片谁单独也说了不算,要二者都能干才能干. 终端依据卡片(AIP)和终端(终端性能)的支持情况,决定是否使用及使用哪种 ...
- Visio 2007中进行数据库建模时如何显示字段类型以及概念名称
关于在VISIO中进行数据库建模时如何显示字段类型,以及注释的 1 如何显示字段类型: 在visio菜单上--->点击数据库--->选项--->文档 打开后选择表这项,在上 ...
- IE6/7/8中parseInt第一个参数为非法八进制字符串且第二个参数不传时返回值为0
JavaScript中数字有十进制.八进制.十六进制.以"0"开头的是八进制,"0x"或"0X"开头的是十六进制. parseInt用来把字 ...
- Access 中数据库操作时提示from子句语法错误
问题:如果在Access 中数据库操作时提示from子句语法错误原因:语句中某一单词为Access中的关键字.如:select * from user.其中user就是一关键字.解决:用中括号[]将其 ...
- Oracle-11g 数据库启动时,报错"ORA-01092"及"ORA-18008: cannot find OUTLN schema"
适用情形: Oracle-11g 数据库启动时,出现类似如下错误. ORA-01092: ORACLE instance terminated. Disconnection forced ORA-18 ...
随机推荐
- KMP算法的next函数求解和分析过程
转自 wang0606120221:http://blog.csdn.net/wang0606120221/article/details/7402688 假设KMP算法中的模式串为P,主串为S,那么 ...
- Quarz.net 设置任务并行和任务串行
如何设置Quarz.net某个任务完成后再继续执行该任务? Quarz.net 的任务有并行和串行两种: 并行:一个定时任务,当执行时间到了的时候,立刻执行此任务,不管当前这个任务是否在执行中: 串 ...
- Android:一个高效的UI才是一个拉风的UI(二)
趁今晚老大不在偷偷早下班,所以有时间继续跟大伙扯扯UI设计之痛,也算一个是对上篇<Android:一个高效的UI才是一个拉风的UI(一)>的完整补充吧.写得不好的话大家尽管拍砖~(来!砸死 ...
- java CAS算法
CAS算法是硬件对于并发操作的支持,其中包含了三个操作数:内存值,预估值和更新值.没当要执行更新操作时,会先在同步方法中比较内存值和预估值是否相等,如果相等才会用更新值替换内存值,否则什么也不做. p ...
- postgresql进程及内存结
一.进程和内存架构图 postgresql数据库启动时,先启动一个postmaster的主进程,然后fork出一些辅助子进程. 二.主进程postmaster -bash-4.2$ which pos ...
- java监听器、定时器的使用
1.监听器 在web.xml配置 <!-- 时间任务 --> <listener> <listener-class> com.hk.common.timer.Tim ...
- javaweb的web.xml配置说明,初始化过程
[重点]初始化过程可知容器对于web.xml的加载过程是context-param >> listener >> fileter >> servlet 首先了解 ...
- Java集合——HashMap,HashTable,ConcurrentHashMap区别
Map:“键值”对映射的抽象接口.该映射不包括重复的键,一个键对应一个值. SortedMap:有序的键值对接口,继承Map接口. NavigableMap:继承SortedMap,具有了针对给定搜索 ...
- Selenium3自动化问题二:各chrome版本对应的chromedriver版本
一:问题说明 最近用到selenium3在火狐浏览器中执行自动化脚本,遇到了一些问题,最后解决方案中占比最多的就是浏览器和驱动版本不一致导致的,故这里给出chrome.firefox驱动的不同版本对应 ...
- html5标签属性translate
定义 translate 是指标签属性,不是css3样式规则transform的translate,说它的定义吧:规定是否应该翻译元素内容. 了解:translate是HTML5中的新属性 语法 &l ...