在開始寫 Android 之前,想先介紹如何提升寫 code 的速度,
如果從現在開始習慣,並記下快捷鍵,之後可以省下大量的時間。
這裡介紹的其實都不是必要,而是容易被忽略的、知道了能加速的功能,
因為 AS 有太多功能,需要用到的時候再找教學就好,
另外,進入設定(⌘+,)搜尋 keymap 可以修改大部分的快捷鍵,
但不建議這麼做,因為經常會需要告訴其他人,例如 demo 或是直接操作對方電腦的時候。
以下簡稱 AS
AS 的編輯器功能非常強大,光一個 ⌥ 就能玩出很多花樣。
用途:如 AS 內建的 logi + tab,我們可以自訂常打的 code,還可以自動帶入、等待輸入參數。
頻率:高
下面提到的輸入,都可以直接輸入大寫(駝峰)的部分,而且在看似沒有輸入框的地方,只要得到焦點也能直接輸入文字
用途:可以透過輸入上方選單內的選項直達功能,後面也會顯示功能路徑。
頻率:高
上方選單
快捷鍵畫面
用途:輸入檔案名稱,開啟檔案。
頻率:高
用途:其實包含了上面 Action、Files,以及其他如 Class 等搜尋,上面特別講是因為有時候搜尋結果太多,不容易找。
頻率:高
用途:搜尋程式碼用的,可以下過濾條件、regular expression 搜尋等功能。
頻率:高
示範:在所有 kt 檔中找 findViewById 後有接任意型別。
用途:快速展開 / 收起側邊欄,在寫 code 的時候才有足夠的空間。
頻率:高
用途:Android Studio 的 Git 非常的厲害,很多特有功能,贏過其他專業 Git GUI 軟體,右下角可以快速切換 branch。
頻率:高
用途:在 commit 之前,關心以下 lint,這樣 pull request 才不會被退回,會更花時間。
頻率:中
用途:不需要再另外開 terminal 下指令了。
頻率:中
用途:Logcat 中的截圖 / 錄影功能,沒有浮水印,檔案會直接輸出在電腦裡。
頻率:中
用途:自訂執行外部腳本,如:shell、python,並且可以用 Find Action 找到或是設定快捷鍵。
頻率:高
這些是我自己會需要用到的功能, 裡面有 shell 也有 python,
這裡介紹 Density,目的是輸入 dpi,直接把手機改成平板界面,
就不需要再去拿平板或開 AS 內建的平板模擬器了。
設定頁面
Density.sh
prompt=$1
if [[ $prompt == "" ]]
then
adb shell wm density reset
else
adb shell wm density $prompt
fi
使用方式:Find Action
用途:快速移除 / 清除資料 / 重啟 / Android 權限重置,省去在手機上操作、進設定的時間。
頻率:高
用途:向手機發字串,省去手機打字時間,也有記錄可以省去經常輸入的文案。
頻率:高
用途:在 logcat 看到 json 格式,可以直接貼到側邊欄看格式化後的樣子。
頻率:高
Google I/O
AS 的功能非常的多,可以關注 Google I/O、或從 官網 得知新功能。
以前內建的模擬器很慢,支援也少,
但現在模擬器多了很多模擬功能,速度也快多了,
在不同裝置如 Automotive、Wear 這些比較不常用的裝置也都有持續在更新,
但要注意的是,目前內建模擬器並不是全面支援 Apple M1 晶片的。
ADB 有非常多好用的指令,建議找找更全面的介紹,
不需要都會,但要知道能做到哪些事情。
用途:無線 adb,這樣手機就不需要接線到電腦了,跟接線能做到的事都相同,對於線材接觸不良、demo、遠端作業都非常好用。
頻率:高
用途:低延遲、高清、沒有浮水印的手機及時鏡像,因為是用 ADB 實作,所以也可以無線串流。
頻率:中
寫程式的時候最怕被打斷,追了好幾層的 code 又要重來、思路要重想,
各位應該有去查個資料,結果就分心到其他事物上的經驗,
如果能使用這些技巧,長期下來不只能省下非常多時間跟心力,
還能避免分心,例如 ADB Idea 可以避免滑手機,用內建的 Git 可以避免切換到通訊軟體,
甚至我連 GitHub 的 Pull Request 都在 AS 裡面發,
這能減少不必要的 content switch。