iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0
Mobile Development

30 天從麻瓜變 Android 工程師系列 第 5

Day 05:Android SDK

前言


跟其他篇一樣,這篇不是要講 Android SDK 的內容,而是怎麼學。

前置 - 硬體


智慧手機的功能實在太龐大,甚至比電腦還複雜,
多了許多 sensor、OEM 廠商、新舊版本、裝置尺寸、周邊(平板、車機、手錶、電視等),
這也是 Android Open Source Project(AOSP)的好與壞,
好在生態系的蓬勃,市佔高帶來正循環,
但不得不說,這裡跟隔壁棚比起來,碎片化非常的嚴重,
截止 2021/09/20,Google Play console 上的裝置目錄顯示為 19,324 部裝置,
可能還沒算沒有 open market 的裝置與白牌,
Google 也在 Android 11 的時候要求廠商在架構上分成兩塊(OEM 客製的部分與 Android 的部分,以利更新 Android 的部分),
我也遇過某牌 CheckBox 的勾勾打在框外、
某牌 A B C 三型號開等化器會爆音,修 A B 壞 C、修 B C 壞 A 的狀況、
某些牌桌面 widget 嚴重跑版......等等,
一開始我也有自己慣用的牌子,
但如果開發在自己的型號上正常,在其他型號壞掉好像有點難交代,
所以到了最後,我都用 Pixel 或是搭載 Android One 的裝置作為主力開發機,
這樣能避免掉很多問題。

書、線上/實體教學、技術 blog


這幾個管道的學習方式都差不多,也有更多管道可以參考,
這邊就拿書做舉例:
可以上網路書局大量閱讀目錄,
接著將名詞排優先順序,
首要例如,View、網路、資料存取,是幾乎每個 app 都要用到的,
次要例如,更簡單或花俏的達到本來必修就能做到的功能的、硬體或很少用到的功能,
另外,介紹 SDK 的書都只有很短的時效,可能隔一年更新後就不適用了。

針對市場


跟看書一樣,直接上求職網看重點:

  • 自己喜歡的幾家公司的要求
  • 自己喜歡的相同產業的公司的要求
  • 他們的加分條件
  • 其他公司的要求

需要注意的是,這些公司產品的性質、開發工具是不是喜歡的,
比方說,一個 app 的開發工具可以分成很多種:

  • 遊戲:這可能是完全不同的領域
  • hybrid app、web app:用網頁編寫
  • Flutter
  • 還有很多

甚至有些職位會強調在某些功能的鑽研,可能跟 Android 無關,
這也許可以增加技術壁壘,但也有跟產業脫節的風險。

作品


應徵工程師基本上都要附上自己的作品,
這個作品不只是自己喜歡的東西,
也要考慮到是否涵蓋了該公司所需要的技術。

Google I/O


記得每年都要追 Google I/O,
除了最新技術,也能知道趨勢,
有餘力的話也可以把前幾年的部分也看了,
記得由新往舊看,這樣可以知道什麼東西已被棄用,就能跳過。

結語


Android SDK 的內容列起來跟字典一樣,
不是每一個都需要會,
所以必須找方法學習高 CP 值的東西,
很多時候也都是做中學,然後才發現已經出了好多年的東西現在才知道,
在實作之前可以找找看有沒有新技術,
另外,並不是全部都會新技術就好,
大多數公司都來不及更新成新的技術,
有的時候甚至是穩定性考量,沒事就不會更換,
直到有一天 Android 棄用該功能為止,
所以如果是太新的技術或有餘力,建議新、舊方法都學。


上一篇
Day 04:程式語言
下一篇
Day 06:Debug
系列文
30 天從麻瓜變 Android 工程師30

尚未有邦友留言

立即登入留言