2008年9月23日 星期二

就是愛計較 (Java版)

記得在幾個月前,曾經也動手要寫一個記帳的程式,來記錄每一天的開銷。但寫了一小部份後,開始對於該如何存放資料感到煩惱,感覺用一般的檔案讀寫,不是很符合程式的需求,因為隨時都可能須要對過去的資料做查詢、刪除及一些處理,用資料庫系統來管理會比較適合。但說到資料庫,若要求每個使用者都自己先建好一個可用的資料庫又不太可能,所以這個程式就開始停擺沒寫了。

前些日子,看到昔日的強者同學剛好也寫了一個記帳程式,發現他是用一種嵌入式的資料庫SQLite,也就是可以和所開發的程式包在一起,程式啟動時同時也啟動資料庫,感覺蠻適合用來開發程式的。但由於SQLite是用C寫的,所以便開始想找找看有沒有用Java寫的嵌入式資料庫系統,很幸運的被我找到了,原來在Java 6本身就已經包含一個名為Java DB(Apache Derby)的資料庫系統,所以就開始著手找一些相關的文件,學學如何使用Java DB。

既然資料庫的問題解決了,所以便打算重新繼續開發記帳程式,在寫程式之前,有先參考了這位強者同學寫的記帳軟體,因為我使用者介面的設計能力真的很差,所以介面就有點模仿他的,但功能還是沒有他寫的完整就是了,大家可以到下面網址使用他的軟體。

豬頭記帳


接下來就來簡介一下自己寫的程式,當然是不能和強者同學寫的相提並論,我只是單純練習用的。

程式下載區

程式外觀主要有四個分頁

  • 新增記錄 - 可用來新增每一筆的收入與支出,類別的部分可以自行修改,下面會列出最近十筆的輸入資料。

  • 資料統計 - 列出本日、本月、本年以及全部的收入支出總額,另外以圓餅圖來顯示所有支出中,各類別所佔的比例。


  • 檢視/刪除 - 可以用來查詢任何一天的記錄,並刪除該筆記錄。



  • 類別設定 - 可以修改、新增、刪除類別與子類別項目,若修改或刪除的類別或子類別包含已存在的記錄,則該筆記錄的類別或子類別項目會變成不分類。




第一次寫程式用到資料庫系統,雖然研究所時修過資料庫系統,但真的都忘的差不多了。害我趕緊把書給挖了出來,但由於我把系統寫的很單純,所以也沒有用到什麼複雜的查詢。資料庫系統真是一門很深的學問,我還要再多學學才行。

在寫這一個程式時,漸漸發覺當程式功能愈多的時候,還是多人一起開發會比較輕鬆吧,雖說這個程式沒有很大,但因為很多東西都第一次碰,所以寫到最後,開始有點討厭程式。其實本來預期的功能應該不只這些,只是有點累了,就先寫到這樣吧!

0 意見: