此为组内某一位做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. 深入理解Spring的异步机制

    一.Spring中实现异步执行 在这里我先以事件的机制举例,注意默认情况下事件的发布与监听都是同步执行的.那么我们来看一看基于异步事件的例子该怎么写 首先还是定义事件: package com.bdq ...

  2. Mysql大数据表优化处理

    原文链接: https://segmentfault.com/a/1190000006158186 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表 ...

  3. Tensorflow应用之LSTM

    学习RNN时原理理解起来不难,但是用TensorFlow去实现时被它各种数据的shape弄得晕头转向.现在就结合一个情感分析的案例来了解一下LSTM的操作流程. 一.深度学习在自然语言处理中的应用 自 ...

  4. Java-Reflection反射-获取包括父类在内的所有字段

    前言 今天Android移动端要加个新功能,所以回归Android程序员的身份.开发的过程中,发现了之前的代码写的有很多问题,真的应该把时间抽出来重构一下了. 其中有反射的一个坑,工具类某方法反射获取 ...

  5. mysql建立索引的一些小规则

    1.表的主键.外键必须有索引: 2.数据量超过300的表应该有索引: 3.经常与其他表进行连接的表,在连接字段上应该建立索引: 4.经常出现在Where子句中的字段,特别是大表的字段,应该建立索引: ...

  6. springboot-31-springboot静态注入

    springboot中 使用 @Autowired 注入时, 是可以为静态变量进行注入的 package com.iwhere.footmark.tools; import org.springfra ...

  7. TDSQL“相似查询工具MSQL+”入选VLDB论文

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB发表于云+社区专栏 作者介绍:王晓宇,腾讯数据库TDSQL团队成员,目前参与TDSQL数据库内核研发工 ...

  8. df说磁盘空间满了, du说没有,到底谁是对的

           同事求助, 他在删掉一个很大的文件后, 磁盘空间依旧没释放.上去一看, 果然 df 看到磁盘空间占用依旧是100%,等等 du 看了一把,磁盘空间剩余很大. 造成这个原因是因为进程依旧打 ...

  9. 数据存储之第三方FMDB

    上周四.周五在忙公司的事情和炒股,没来得及更新博客,这周就补一下,学习总结下FMDB. FMDB是对sqlite的封装,特别是在多线程情况下,使用sqlite是非常麻烦,而使用FMDB相对简单,下面是 ...

  10. WinMain函数详解(转载再编辑)

    在Windows应用程序中,我们可以认为 WinMain() 函数是程序的入口,WinMain()的原型如下: int WINAPI WinMain( HINSTANCE hInstance, HIN ...