2013年2月24日 星期日

火車時刻表ATrainTime2:離線資料庫的進化史

ATrainTime2的離線資料庫方便與準確性有目共賭,今天講一下數個階段的演進過程:


1: 2011年9月初上架時,採用的是把內建資料庫的做法。這樣的好處是程式處理簡單,一個apk就配一組資料庫。資料庫的日期就是附版本號碼。

不過每到定期的資料庫更新就麻煩了。即使程式碼完全沒變,我還是得重新打包一版apk上架,使用者也得連上Google Play重新下載。雖說檔案不大,但還是對雙方都造成困擾…



2. 2012年5月:為了解決這點不方便,我又開發並上架了另一個app: ATT2 (萬用時刻表,現已完成階段性任務而停止維護。)來解決這個問題。在apk與資料庫分開的架構下,可以直接上網更新離線資料庫,不需再更新整個apk。很方便!不過這種架構陸續收到一些用戶反映無法下載。(跟地區有關...)於是開始思考下個架構~~~
(★這個架構強處還包含超強功能「自訂時刻表」。我之後會再專文說明:-)



3. 今年情人節(2013/2/14)當天,ATT2完成階性任務後功成身退,它的自訂與下載資料庫功能正式交棒回ATrainTime2。於是變成以下的架構:

* 內建時刻表有功能更新時才順便更新,滿足基本的需求即可。若真的有很長一段時間(例如10天)沒有功能更新,才會考慮再上架一版最新資料庫的apk。

* 每隔1~3天就有新版離線資料庫可供更新,每次約60KB(含臺鐵/高鐵31天內的所有班次)。app預設會每天檢查一次是否有新版離線資料庫,每次檢查下載資料量不到1KB。使用更加即時與方便!

分辨使用何種資料庫的方法很簡單,共有2種。看這張圖就知道! :-)




小結:
目前的架構至今反應不錯,接下來很長一段時間應該都會繼續使用。
如果大家有想到什麼不錯的建議,歡迎隨時告訴我,謝謝~



阿古多

回到線上說明總覽:http://goo.gl/9cKy6

沒有留言:

張貼留言