iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
0
Mobile Development

老姐好像要用 Kotlin 寫專案,能撐30天嗎?系列 第 6

眺望統一的第六天:App 設計和 Kotlin range 亂數

  • 分享至 

  • xImage
  •  

「喔喔,臉色變好了啊。」坐隔壁的喵先生,向正要下班的我們打招呼。因為桌上有很多貓咪玩偶,所以大家都叫他喵先生。

「對呀,稍微調整了一下作息。」老姐抬手做了一個眺望的動作。「等下也要去多看看綠色,保健一下視力。」

喵先生轉頭看向桌上的貓咪玩偶,嘴角彎起。「真好啊。我明天也早點做完好了,讓它們曬曬太陽。」

「祝你明天順利。」我們走進電梯揮手道別。

電梯裡我忍不住問她:「今天不寫專案了?」

「專案不只有程式的部分呀,今天是取材唷。」她翻了一下包,拿出手機,「顏色和設計這類的,我不是本科系,除了看一些分數高的 App 以外,出外找一些靈感也是很重要的。」

https://ithelp.ithome.com.tw/upload/images/20200915/20129197w54fQRGa8g.png

「啊,我忘記現在不在內網,等等唷,我找一下截圖⋯⋯你看這 App 看起來多樸素啊,一點都不吸引人。」

https://ithelp.ithome.com.tw/upload/images/20200915/20129197331FDpIXaA.png

「呃,別以為在設計階段的 app ,模擬資料就這麼馬虎,而且錯誤文字也要修一下,不要告訴使用者你的 api 地址,就改成連線失敗,請確認網路狀態之類的,至於假資料如果改成這樣應該會好多了。」

https://ithelp.ithome.com.tw/upload/images/20200915/20129197SeqypWP14D.png

「哇喔,感覺好很多,不過我還是要找一下配色就是了。比如說剛剛那個招牌的綠色很漂亮啊。先拍照,回去再用色彩工具吸管找色碼。」

「畢竟 UI 和 UX 是兩門學問,不過都不是工程師的必修就是了。」個人專案請不起設計師,只能請老姐多多加油了。

老姐又看了一次改過的畫面。「那個假資料看起來是在限定範圍內亂數的?」

「對呀,亂數資料用 Kotlin 一行就可以寫好了,超輕鬆。」

val name = "從前從前有碗" + listOf("海龜湯", "孟婆湯", "玉米湯", "南瓜湯").random() //序列亂數
val attendance = (0..10).random().toString() //範圍數字亂數

「話說看到一堆餐點亂數就會想到⋯⋯」

「喔,那個選擇困難症的救星『今天要吃什麼呢』的程式對吧?因為 Kotlin 在很多平台都可以用,我還看到有人拿來寫聊天室機器人 Chatbot ,如果只是像這樣寫死資料的話,不管是寫在 App 或是 Server 或是 Chatbot 都可以直接用一行處理,再做點畫面處理和 api 串接,不寫死的話就要存資料庫或是放進暫存檔案。」

「對呀,還要另外寫新增和刪除的接口。」超麻煩,乾脆要加的時候改程式碼重新編譯執行算了。

「人數的亂數 0..10 是 0 和 10 都有包含在內嗎?」喔,Java JDK 8 的確沒有這個寫法,難怪老姐不知道。

「對啊,如果不要上限 10 就用 0 until 10 ,也有只取奇數偶數的做法。」

`0..10` //上下限都有
`0 until 10` //不要上限 10
(0..10).filter { it % 2 == 1 }.random() //只保留奇數
(0..10).filter { it % 2 == 0 }.random() //只保留偶數

「還滿方便的嘛。」老姐說著下載了一個直接可以從相機畫面取色碼的 App 。不用把圖傳到電腦再開取色工具的確滿方便。

「科技始終來自於人性,所有高階程式語言的語法到後面的版本應該都會越來越相似。」

老姐看向 iPhone 手機和 Android 手機,「說不定哪天還會統一成一種呢,不知道會是工程師的福音還是災難。不過,那也不是我們能改變的事。」

「真是,害我緊張了一下,提到手機系統統一還以為妳打算跑去寫 Flutter 。」

「Flutter 如果再進化一些,也許會吧,但我更希望 Kotlin 能做到同樣的事,畢竟學這麼多語言超累啊。當初選 Android 工程師還以為會 Java 和 C 就可以了。」無論老姐眼底的波光是來自淚水還是夕陽的反射,都無法改變現實,我們所能做的只有盡力不被市場淘汰罷了。

本次鐵人賽的作品在放進更多內容後已經成書,書名是《老姐要用Kotlin寫專案:從 Server 到 Android APP 的開發生存日記》,歡迎購買唷。https://www.tenlong.com.tw/products/9789864348978


上一篇
語法研究的第五天:Kotlin apply let run with also
下一篇
製造貓貓的第七天:人人愛 Kotlin Extension
系列文
老姐好像要用 Kotlin 寫專案,能撐30天嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
Joshua
iT邦新手 4 級 ‧ 2020-09-16 00:17:14

被flutter標籤騙來結果是前女友kotlin...
奇偶數可以step啊,例如1..10 step 2 10 downTo 1 step 2
應該說反正這些都只是infix func不是keyword,想自己寫也可以

Kate iT邦新手 3 級 ‧ 2020-09-16 15:19:00 檢舉

對對,我也有想過 stepdownTo ,但實際測試卻會發現有個有趣的現象。我等等把詳情和截圖放在第七天好了,感謝您提供的本日靈感。 (^v^)

Kate iT邦新手 3 級 ‧ 2020-09-16 15:20:29 檢舉

如果順利把 Kotlin 弄完 也許 可以玩 Flutter 。

我要留言

立即登入留言