發佈版本
3.0.0發佈日期
2016年5月18日更新內容
- 重新設計界面及圖示以符合 Material Design 設計規範。
- 新的網路訂票功能。
- 支援橫向操作。
- 其他細部調整及錯誤修正。
開發札記
這次改版在功能上沒有太大更動,除了「網路訂票」的功能。之前是直接把訂票網站的資料都放在 App 裡面,因為那時候的訂票網站還不多,早期的版本還特別為每個訂票網站設計圖示,後來流行扁平化設計,就把圖示拿掉改成以簡單的色彩來呈現。最近各家電影院都開始提供自己的訂票系統,所以覺得是時候把它的資料從 App 中抽離了,方便日後修改。界面上的重新設計是為了符合 Material Design 的規範,上一版雖然也有加入 MD 的元素,但沒有深入瞭解,所以設計出來的界面不是那麼符合 MD 規範,這次就把儘量把它改好。
由於 Android 每隔一陣子就會有大改版,我都不知道修改了幾次有關 ActionBar 的程式碼,現在改叫 Toolbar,Drawer 也改了好幾次,真是有夠累人。另外就是關於螢幕旋轉的支援,其實旋轉螢幕沒那麼簡單,有些小細節要小心處理,當初就是為了避掉這些麻煩。
關於測試,看看 OpenSignal 2015 年的報告 ,如下截圖:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFYoDUH2bsYHPP6G8CZkPb6sNrMjvPh_Oa_WHqC3mw9khB_rFG0-BPMOilJOsPdJtCp7zP3OqODgBy9nPKAb7jzn-bl4z5RBFuo26HE-uxkVMQf49NTZ3lfoq-aTfiq1FYfhauN5SdQ5Y/s1600/opensignal.jpg)
Android 的裝置多到有如碎片,所以當我最後把所有程式都寫完了,開始在各個版本的模擬器上測試,就出現相當多的問題,這時候連實機都還沒開始測。當我終於解決了各個模擬器上會出現的問題後,我手上的實機其實也只有兩台,一個是之前買的 Galaxy Nexus (I9250),及另一支別人的舊手機 HTC Desire 610。
痛苦的地方來了。Nexus 是自己刷機刷成 5.0 的,在把所有內建服務都關掉,不使用任何 Widget ,只保留一個螢幕的情況下,用起來的速度還可以,但其實硬體差就是差,在開個 feedly 看看都會不時 crash 的情況下,測試《電影時刻》當然也很容易就崩潰了。我的想法是,把效能調到這支那麼爛的舊手機都能跑的情況下,應該就能在大部份使用者的裝置上跑了吧,也只能儘量了。
最後有個好奇的地方。之前的版本都是用 Eclipse + ADT 的方式開發,最後發佈的 apk 檔有 8.5 MB,而這次改用 Android Studio 開發,apk 檔竟然只有 4.9 MB,雖說這次有減少很多圖檔及清掉許多不需要的資源檔,但這容量也未免差太多了吧,還是因為我有用 kotlin 的關係,反正容量 down 了快一半。
3.0.0 版 ICON
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0AhDgi3Kny7ubgdI8pEUUrXRyQxH_0P1whTqox7zq39aYYGmscDaFitgi-dE4h1XnVnXM50XEFogRhRp_uayJgpJh6ExBkv71ACg4tUMYiJJ0vQV2L99flbUkC_JE7RmblWYUsA0Y4pg/s1600/ic_launcher.png)
3.0.0 版螢幕截圖
啟動畫面
![movietime app screenshot launch](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD92bqQM_I5NipNUH3D1xldxlM4HUv9h8ODo-XHAlBd3rnHgra4bSMkckJ6n8kaPieWr1tckHfZ4COzWhYPEbRyo-D1BnQc7onDLy-dOylwgZwM_GDuCHV3uDfq0oBTgn20Ed0DzmnLV0/s1600/0-launch.png)
側選單
![movietime app screenshot navigation drawer](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMM6gncJ9YpT72oqoS5fv0sZzl4mS1tcqU1BOpHScnwMyO5IVPlwS9inyIsh0OCbK3Q5W5oM4FOVnH1S1N2Zyi6-karMPr2Ls1vPUO_3p4_u_btw3GrHf6EPl7fpTSwq2CpCorJx1P0kU/s1600/0-drawer.png)
電影清單
![movietime app screenshot movie list](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0Z4fDYqR1kSKGOlMzTNGJFiDIUoLnN_PtD2rhNzqpz-svgkmsNEM3lsCycfPdRGJ415EjQPGxiXE4j12_NxyoP6Uppsr2WaiddkB0tIEpsDiLF7or8WZzIc7r2dfqWnutSV6MbfH-dKE/s1600/1-movielist.png)
電影資料
![movietime app screenshot movie info](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlDOuTwkIRWBoTu_woerQCrgnnCNlFzdYIEeEngM6bpjJiKzH4HAy0vtFpygYFx1d6IL2XdMuU04SO5rppidbH_u4jlBHwPxPeGkXnwrAoSa_H_eNpcazwaCHw_M44TvwIxLRINT2eS0M/s1600/2-movie.jpg)
電影院
![movietime app screenshot theater](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh90Cv4_yz7eyEFVJpHSd0WFnbuXX2-uFyja6ug1Dzw7cmn2iOgGyEVFwMLApc_O2CUBfXjOGlzHV0JQBGiezUSwiJkikWhnTM4W0OoHmLEvsKAPWL-76NgMW6WKVUFwzYHCtNQMnU1KlM/s1600/3-theater.png)
預告片快看
![movietime app screenshot trailer](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwjggCnQc3Y5AtGWJxhtSC-dtjRBEBanIBugdujuqTZ3mqaaaltSE64jMKNh58DtQTlvgeqXgJGi6G_mSGayfAftnlt6rNWsBCNdMJCGXoNNfJFzoM3uXAU-1wJ2iqQb13ABhbwOsq8lE/s1600/4-trailer.jpg)
網路訂票
![movietime app screenshot ticket](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJHIIljMGQr5LwLnJQx7rBcuu9JiWt3PPmb02RvidFqLpv-xtriuHJL9XxdK8jkVZ017zeYKmilLHDMCrjBpBtB50TpTk78dse0A1nNnediskCavsS6_TJjzpa0KY6dNmSmE2B8TFSlJI/s1600/5-ticket.png)
電視
![movietime app screenshot tv](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6EgbZJvfQQBJ8aLttrdokvzI3nCZ8ngj2vT9DwMcpO1Y91d3clYaf7MB3gl8bY0fPiDOOg9Un3PUy9sarShCE6vihnmpVWSPbK_R0z-ivkHhBh-O1TWTkXq7q6PvWUnxOQSQLDBwj0Dg/s1600/6-tvnow.png)