在原有專案上新增加擴充套件應用的一些吐槽
前段時間接了一個專案,是人防資訊系統的APP客戶端。客戶只給了一個方案文件和資料庫的結構。
客戶目前的資料庫是Oracle的,因為我以前沒接觸過,而且他們也沒要求這個客戶端要用什麼資料庫,為了方便,我用了自己常用的MS SQL。
開始沒管服務端,先做客戶端,把介面、資料實體、與服務端的介面都用本地測試資料做好了(測試資料直接寫在服務端介面類裡)。發給客戶看,客戶說要做基礎資料的新增,(我說:方案裡沒有啊。客戶說在資料庫結構文件裡有寫了。我一看,暈了,在那個文件裡有一欄:資料去向,都標註有入庫。。。好吧,入庫也算是添加了。)
做基礎資料的新增,好吧。。可是不想一個介面一個介面的設計啊,開啟QQ看了一下他們的個人資訊修改那欄,應該是用ListView做的,可直接在上面修改或者開啟另外一個介面進行修改。這樣很好,把資料分為幾類:字串、選擇項、時間、圖片、位置,選擇項再分為彈出視窗選擇(只有幾個選項的情況)和轉到其他頁面選擇(選擇項很多,而且有分類的情況),基本上包括了基礎資料的所有欄位型別。花了一天多寫好Adapter基類。
服務端我都是用CodeSmith自動生成程式碼的。程式碼生成後,發現Android裡有錯的欄位。。。沒辦法,只能把Android裡的實體和服務端介面也用程式碼生成器來做。花了一天多時間把程式碼模板設計好。生成。。。。對接。。。除錯。。。還算順利,生成的程式碼都能正常對接,只花了一個上午。問題來了,部分資料是要有特殊的操作方法的,生成器重新生成 修改後又要儲存,貼上,麻煩。。只能拆開成兩個類,自動生成的為基類。然後,各類的內部類在引用的時候,又不對了。。。得一個個改。。
。。。。。(煩,懶得寫中間的過程了。。)
Oracle對接上了,但是發現客戶之前給的結構文件和後面給的資料庫匯出的SQL不一致。。
這還不是最大的問題,最大的問題是APP需要的資料庫與客戶的資料庫要多些表的欄位,我是在另外的MSSQL裡新增和新建的,在客戶的資料庫裡,新建立表是沒問題的,但是要增加欄位,就很麻煩了,不知道他們那邊的系統在讀取資料庫時是怎麼寫的SQL,(估計是用select * from ......)今早一直在想,最好不要改他們的表。。新增加的欄位另外建表吧,然後與原來的表做一個檢視,查詢就從視圖裡查詢就好了。新增和修改的時候,就分兩個表來寫入資料。
問題來了,我沒弄過Oracle的檢視啊,之前寫的Oracle操作還是在網上找到的別人寫好的操作類。自己再修改了一下。。
晚上加班吧,先做檢視,再把表重構一下,然後,服務端和客戶端都要重構啊。。。要哭了。。。
加班時,再寫後面的事情。。
-------筆記還是得記的,以後認真寫部落格了--------