Board logo

標題: 【原創】Time Calculator (TimeCalc) 時間計算器 for Nokia N9 & N950 [打印本頁]

作者: amanda_lam    時間: 2012-3-5 02:03     標題: 【原創】Time Calculator (TimeCalc) 時間計算器 for Nokia N9 & N950

開發誘因
距離相傳是世界末日的 2012 年 12 月 21 日,還有多少天?從出生起,我活了多少天?如果我現在為了《飢饉三十》停止進食,從何時起我可以恢復進食?

在日常生活中,相信好多人都會遇上這類與日期和時間計算相關的問題。以往我們不是單靠心算,就是要在日曆上數來數去;聰明一點的,就會到電腦面前打開Excel,輸入一個日期時間來加減。那麼如果就近沒有電腦和日曆,哪怎麼辦呢?

由於工作需要,我最近也不時需要計算開發項目中、各細項工作的預測完成日期。無論是在日曆上數來數去,又或是在 Excel 裡加減完還要搞數值格式,兩者都費時失事。於是,我便萌生製作一個簡單手機程式來計算日期和時間的念頭…


↑ 時間計算器會按照用家的系統語言,顯示相應的界面文字。第一個版本會先支援英文、正體中文及簡體中文。

功能簡介
經過一段日子斷斷續續的開發(我正職不是開發手機程式,所有開發都得在工餘時間做…),我終於弄好了一個功能比較簡單的版本,取名「TimeCalculator 時間計算器(TimeCalc)」。

TimeCalc是一個簡單就手的小工具,可讓你加減一個數目的年、月、日、工作日(週一至五)、小時、分鐘或秒鐘,至一個日期/時間值裡。你亦可求得兩個日期/時間值的差距,並以各種時間單位顯示出來。
功能圖解


↑ 在一個日期/時間值之上,加/減一個時間單位的值。




↑ 加/減 的數值支援小數…




↑…亦支援負數。在這個例子裡,我們可看到負負得正的效果!;)
此外,輸入數值時,系統會顯示數字虛擬鍵盤。




↑留意數字虛擬鍵盤的「計算」一詞,亦會因應系統語言而改變。




↑ QML 的標準日期選擇元件。




↑ QML 的標準時間選擇元件。




↑ 時間單位選擇介面。




↑ TimeCalc 支援橫向操作。




↑ 橫向操作時,數字虛擬鍵盤亦會相應調整。




↑ TimeCalc的另一個功能,就是可以計算兩個日期/時間值之間的差距,並可以不同的時間單位顯示出來。




↑ 按右下角的「三劃按鈕」,調出程式選單。




↑ 關於本程式。




↑ 版權資訊界面。


功能定義及運算假設
根據公曆(格里曆)的定義,本程式採納以下的假設來進行日期及時間的運算:
高清影片示範

http://www.youtube.com/watch?v=2tBuNLCROeo&feo
↑ 廣東話示範(以 N9 示範)

http://www.youtube.com/watch?v=BAKYlfSDJvA
↑ 英文示範(以 N950 示範)

開發點滴
這個應用程式是以 QML 及 JavaScript開發,並具備以下特色:
程式源碼及下載
本程式已可在 Nokia 商店下載安裝。在你的 N9 的 Nokia商店應用程式裡,搜尋「TimeCalc」即可找到。你亦可直接按一下下面的鏈結:

http://store.ovi.com/content/259849

我已把這個程式的源碼放上諾基亞的項目網站:

http://projects.developer.nokia.com/timecalc

如果你對編寫 QML應用程式有興趣,你可以在上面的鏈結找到程式的源碼。
如果你有興趣參與改良此程式,又或想提交更多語言的翻譯版本,可以在上面的鏈結裡找到SubVersion 的鏈結,然後以你喜愛的 SVN 工具 Checkout到你的電腦就可以了。
後話
如果大家使用這應用程式時有甚麼意見或問題需要匯報,請在此文留言告知小妹。我會盡力跟進的!
這個應用程式的功能看似簡單,不過在開發期間遇到前面所述的問題,卻是我始料未及的。在開發過程中我要更深入了解日期和時間的背景資料,並從維基百科學到不少與日期和時間相關的冷知識呢!
TimeCalc 目前尚在初版;未來當我有較多時間時,我會考慮再改良及加入更多的功能,包括讓用家自行指明當地的公眾假期、以及週六會否有半天/全天工作日,讓「工作日」的計算更精準;我亦會看看有沒有可能讓此程式的用家、以計算結果直接建立行事曆的約會事件等。我也會學習一下其他系統平台的應用程式開發(會先考慮Windows Phone 和 Android),未來或許也會把 TimeCalc 甚至打字易 都移植到這些平台也說不定?

☆★ 同步發表於《Da Da 寫意空間》 ★☆






歡迎光臨 電腦領域 HKEPC Hardware (https://h2.hkepc.com/forum/) Powered by Discuz! 7.2