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第二組與數據庫對接時遇到的問題記錄