2015年6月4日 星期四

Calendar的陷阱 : 24小時or12小時制?

Java的Calendar是有分12小時制和24小時制的
之前一直以為他預設24小時制一直鬼打牆

Calendar.HOUR指的是12小時制的小時,如:
calendar.set(Calendar.HOUR, 5);

HOUR_OF_DAY才是24小時制的
如果給Calendar.HOUR超過12的數值日期可能會跑掉

正確用法(假設要設晚上8點):

24小時制
calendar.set(Calendar.HOUR_OF_DAY, 20);

12小時制
calendar.set(Calendar.AM_PM, Calendar.PM);
calendar.set(Calendar.HOUR_OF_DAY, 8);

也可以用calendar.get(Calendar.AM_PM)取得現在是上午或下午
calendar.get(Calendar.AM_PM)回傳整數1或0
0表AM 1表PM

2015年5月31日 星期日

在Goole play books上架書籍(二) - Word轉Epub

epub是一種國際標準的電子書格式
Google Play Books只支援pdf和epub兩種格式
推薦使用epub
詳見為基百科http://zh.wikipedia.org/wiki/EPUB

以下說明如何從word檔轉換為epub格式
並在Google Play Books上架
這是轉好的成品: 逍遙遊

1.  下載並安裝電子書神器: calibre http://calibre-ebook.com/download
calibre可以幫你開啟、轉換、整理電子書
免費,而且支援Linux、Mac、Windows
還有內建繁體中文,比較可惜的點是不支援中文直讀

2. 如果calibre打開時是英文,點左上方的Preference -> Look And Feel -> Choose Language
選擇Traditional Chinese 然後點Apply,重開calibre後介面就會變中文了



3. 點左上角的"加入書籍",加入要轉換的書籍

4. 在書籍上點右鍵->轉換書籍->個別轉換
    將輸出格式改為epub,輸入書名、作者等資訊,也可以加入書籍的封面


5.  calibre預設檔案若超過260kb就會自動切割,如果你想要手動切割的話(本次試範為手動)
     在epub輸出頁面,把"分割大於此項的檔案"調大
     調整完後按確定,等後轉換完成


製作目錄: 如果你的word檔本身沒有設定目錄,或者calibre無法精準偵測你的目錄,就要自己手動增加。

6. 在書籍上點右鍵-> Edit book

7. 你的文章儲存在index.html中,如果沒有做第5步驟,可能會被切為多個檔案



8~12步是在手動分章節,不需要的話可以跳過

8. 先新增一個章節
    檔案 -> New file -> 輸入"章節名稱.html"  -> 確定


9. 剪貼內容
    點兩下index.html,把第一章的內容剪下

10. 然後貼到第一章的檔案(貼在<body> </body> 之間)


11.  複製格式
       將 <link href="stylesheet.css" rel="stylesheet" type="text/css"/>
<link href="page_styles.css" rel="stylesheet" type="text/css"/>
       複製到第一章的檔案中(<head>和</head>之間)


12. 重複8~11的步驟,完成所有章節

13. 編輯目錄
      Tools -> 目錄 -> Edit Table of Contents ->建立新的項目




14.  選擇章節檔案並輸入章節名稱 -> 確定

如果沒有分割章節也可以用滑鼠直接指定章節位置
15.以此類推加入所有章節,完成後別忘記儲存!


先別急著上架,在上傳epub檔案時Google會對你的檔案進行格式驗證
不符合規定的epub檔無法上傳
為了節省時間還是先自己檢測吧
用google指定的檢測工具EpubCheck

線上檢測工具 : EPUB Validator http://validator.idpf.org/

檢測軟體 : pagina EPUB-Checker(推薦) http://www.pagina-online.de/produkte/epub-checker/

檢查無誤後就可以上傳囉