關於手機軟體「移動萬年曆」 - neweroica的專欄 - CSDN博客

這個Java手機軟體「移動萬年曆」(MobCal)是我在4年前寫的,先後做了測試版、1.0版和2.0版和最後的2.01版本,都是在中國Java手機網(www.cnjm.net)上免費發布的。目前網上最流行的版本是功能最完善的2.01版本,1.0版本的也有所流傳。當初發布時沒想到時至今日這個軟體竟頗為流行,幾乎成了很多手機的「必裝軟體」。我想可能有以下幾個原因:1.現在的手機速度和效率比4年前要強很多,因此我的這個萬年曆程序對於很多機型都是能流暢使用的。2.雖然我發布移動萬年曆時稱它只為西門子M55和6688i等機型製作(因為條件有限我只用自己M55真機和6688i模擬器測試過),但事實上,我編寫J2ME程序的自始至終都盡量使用最底層的API,因此,這就是為什麼現在很多支持Java的手機都能使用移動萬年曆的原因。3.由於當初我是按照西門子M55和6688i等手機設計的,因此屏幕較小,對於如今很多較大屏幕的手機就不太兼容,很多用戶反映「月曆」的格子擠作一團。後來,網上有些懂Java的網友就將我的移動萬年曆2.01版進行了修改,將屏幕改大了,以適用於某些特定機型,如摩托羅拉的、三星的、藍莓的一些手機。好像還有人特意將簡體版本修改成繁體版本,以供港台用戶使用。然而讓我遺憾的是,那些修改我的程序的人在發布程序的時候居然對我這個原作者隻字不提。還有人在轉發我的這個軟體時將中文名字都改了,改成「移動萬年通」,理由是他認為「它包羅的查詢內容俱全」。也許,在盜版猖獗的時代,在淡薄的版權意識里原創作者的勞動是不值得被尊重的吧。可悲的是,有些地方他們改得並不好,以致於出現一些小bug,當用戶反映出來後,他們也沒有責任心和耐心去改正。要知道,我的2.01版的移動萬年曆使用了代碼混淆,因此他們反編譯之後的代碼可讀性是很差的。這又不禁使我想起了一個類似的事情。某個研究周易玄學的網站,直接將我寫的兩個三千年萬年曆直接掛在其網站上(見www.china95.net/wnl/)。結果,有網友向站長指出「發現1600年前面的整百年2月份的全部天數都是29天的」,不符合現代公曆曆法規則,並建議站長修改代碼。結果那個站長只能以「目前沒有時間」搪塞推脫。其實,他是原封不動將我的程序「拿」過去的,根本就不知道程序的演算法,又怎麼懂得修改呢?其實,那個網友提出的問題不是bug,而是因為他們不懂得曆法常識,因為1582年以前世界上通用的是儒略曆,而不是現在的格里曆。總之,通過這些事情,我感覺「開源軟體」事業在國內還有很長的路要走。附錄1

移動萬年曆MobCal 1.0的主要功能有: 1.1900-2100二百年的陰陽曆日期對照 2.星期、時間顯示 3.生肖與星座 4.詳盡的公曆和中國傳統的紀念日 5.年月日時的天干地支(即所謂八字或四柱)和相應的甲子納音 6.每日的二十八星宿 7.歷史紀元 8.儒略日 9.按陽曆日期查詢 10.節令(如冬九九、夏三伏、梅雨等)和精確的節氣交節時刻 11.以節氣交界的干支 12.人體生物鐘查詢 13.各種歷制間的轉換(年數不限)

可能有些名詞大家還不太熟悉,下面我就詳細地予以介紹。

首先,將MobCal.jab和MobCal.jar放到一個新建文件夾MobCal下面,然後將文件夾MobCal放到M55文件夾javajam下。然後進入M55的「遊戲與其他」,就會找到MobCal程序,選擇「開啟」,就進入到「請稍候」的界面,大約過15秒鐘左右(這個時間可能有點長,主要是因為萬年曆涉及到許多浮點級別的運算,不過同M55自帶的幾個遊戲和程序來說這個時間還是可以容忍的了),就會看到一個很別緻的顯示進度條Loading畫面,接著屏幕上就顯示出今天此刻的基本時間信息,具體包括歷制(具體意義見下文),陽曆和陰曆日期,星期,生肖,公曆和傳統紀念日,名人誕辰,星座,年月日時的天干地支(即所謂八字或四柱)和相應的甲子納音(這些相信對於易學和預測學愛好者來說是非常有用的),二十八星宿,儒略日(具體意義見下文)以及歷史紀元。

MobCal 1.0還有其他一些高級功能。按左軟鍵調出菜單,它們依次是:

1.關於...

版權信息和相關申明

2.跳至日期...

選擇之後可以進入陽曆日期的輸入界面,你可以查詢1900-2100這二百年間的任一陽曆日期的詳細信息。如果你的日期輸入超出範圍(如輸入1800年)或不正確(如2000年2月30日)都會出現錯誤提示並讓你重新輸入。

3.恢復日期

將你跳轉之後的日期重新設置成今天此刻的日期。

4.節氣節令

節令就是指顯示如冬九九、夏三伏、入梅、出梅等與節氣氣候有關的日子提示,節氣就是指二十四節氣,並且MobCal能給出精確到分鐘的交節時刻,這是許多電子萬年曆無法做到的。

正是由於節氣計算精度很高,而手機的CPU和內存有限,J2ME又不支持浮點運算,所以使得節氣節令的計算耗時較長,幸虧作者製作了MobCal的進度提示畫面,這多少會緩解使用時的驕躁。

5.干支(節氣交界)

懂得一點易學的朋友都知道,嚴格正統的年干支是以立春為分界線的而不是以農曆新年分界的,而月干支是以二十四節氣中的中氣為分界線的而不是以農曆新月分界的。之所以將節氣交界的干支拿到菜單裡面來,大概是因為象易學愛好者那樣真正對干支「較真」的人畢竟不是多數,而且計算節氣交界的干支也比較耗時間。

6.人體生物鐘

這大概是許多使用者最感興趣的內容了,只要輸入您的出生日期,您就可以及時查到每天自己的體力、智力和情緒指數,相信會對您安排好自己的學習工作和生活有幫助。

7.歷制轉換

陽曆類型有三種:現行的公曆,格里曆和儒略曆。在公曆1582-10-4以前;公曆與儒略曆一致,在公曆1582-10-15以後,公曆與格里曆一致;而公曆的1582-10-5和1582-10-14這十天由於歷史原因而被刪掉了!

MobCal1.0提供上述三種歷制日期之間的任意轉換,而且年份不限,你甚至可以輸入公元前年份,但注意:0表示公元前1年,-1表示公元前2年,...-999表示公元前1000年等等。

這個操作還能給出相應的歷史紀元(目前只能查到隋朝),還有星期,日時干支,二十八星宿,儒略日等等信息。

8.取消

離開菜單回到主界面。

9.幫助

顯示使用說明——當然不會有本文這麼詳細了 :)

10.退出

在退出畫面中您又能看到進度條。

期待著MobCal的下一個版本,屆時除了速度會有提高和界面更美化外,更重要的是增添了許多人性化的東西,如可以自己添加紀念日,自己設置倒計時提醒,日記或記事功能。另外,農曆會不止二百年,甚至可以達到數千年——只要手機內存允許。

附:儒略日

這在天文學和某些領域上有用,就是指當前日期到儒略曆公元前4713年1月1日格林尼治時間正午12時的天數(可以為小數),MobCal的儒略日精確到時。

附錄2

移動萬年曆MobCal2.01的下載地址是http://www.cnjm.net/newpage/soft.php?id=808,下面我就介紹一下移動萬年曆MobCal 2.01版的功能和使用。

首先申明一點,不論是移動萬年曆MobCal的1.0還是2.0版本,都是離線版的,不需要上網下載數據的——因為所有的信息都是我通過編寫公式計算出來的,因為本人對天文歷算很感興趣,也「研究」多年了。移動萬年曆MobCal 2.01的主要功能有: 1.1840-2100二百六十年的陰陽曆日期對照 (正好從中國近代史開始,比一般萬年曆還多60年,

其實我可以做到3000年的,但擔心運行速度會慢) 2.星期、時間顯示 3.生肖與星座4.詳盡的公曆和中國傳統的紀念日 5.年月日時的天干地支(即所謂八字或四柱)和相應的甲子納音 6.每日的二十八星宿 7.歷史紀元 8.儒略日 9.按陽曆日期查詢 10.節令(如冬九九、夏三伏、梅雨等)和精確的節氣交節時刻 11.以節氣交界的干支 12.人體生物鐘查詢 13.各種歷制間的轉換(從公元前999年到公元後9999年,是名副其實的「萬年曆」了)

MobCal 2.01與1.0版相比,增加的特色功能有:14.具有象M55自帶的月曆樣式的瀏覽模式,而且能在上面顯示農曆,並且設有快捷鍵,可以逐月逐年翻閱。15.黃道吉時——嚴格參照《金函玉鏡·日家奇門出行要決》編寫,包括每日十二建星,喜神、財神、福神方位,各個時辰的黃道黑道和吉凶參斷,還可以顯示金函玉鏡日家奇門轉盤圖,上面顯示八卦方位、八門方位和飛宮九星布局等。16.人體生物鐘查詢時具有生日記憶功能,每次查詢時自動記憶輸入的生日,這樣下次開機查詢時就不用再輸入生日了,十分方便。17.可以自己定製公曆和農曆的紀念日 18.個性化定製倒計時提醒,可以在每次進入程序時顯示你所設置的倒計時提醒,十分實用。19.進度百分比顯示,以及進入推出畫面 20.十二星座的性格介紹


推薦閱讀:

一加五與小米六哪個更值得購買?
有哪些是你們買完後悔的手機?
美版iPhone產品測評?
魅藍Note5與紅米Note5對比怎麼樣?

TAG:手機 | 軟體 | 博客 | 手機軟體 | 萬年曆 | CSDN | 關於 | 專欄 | 移動 |