主頁 >  其他 > 【萬字】熬夜修行Android Studio技巧到出神入化,快速漲薪【建議收藏】

【萬字】熬夜修行Android Studio技巧到出神入化,快速漲薪【建議收藏】

2021-10-16 07:32:49 其他

往期文章分享

點擊跳轉=>熬夜再戰Android從青銅到王者-UI組件快速搭建App界面
點擊跳轉=>熬夜再戰Android從青銅到王者-幾個適配方案
點擊跳轉=>熬夜再戰Android從青銅到王者-開發效率插件篇
點擊跳轉=>Unity粒子特效系列-龍卷風預制體做好了,unitypackage包直接用!
點擊跳轉=>姐姐喊我解鎖套娃新技能:FairyGUI在Unity中實作List嵌套List/立體畫廊等,玩出花兒來
點擊跳轉=>Unity新手必備5款寶藏插件–價值上千元白嫖最新版

👉關于作者

眾所周知,人生是一個漫長的流程,不斷克服困難,不斷反思前進的程序,在這個程序中會產生很多對于人生的質疑和思考,于是我決定將自己的思考,經驗和故事全部分享出來,以此尋找共鳴 !!!
專注于Android/Unity和各種游戲開發技巧,以及各種資源分享(網站、工具、素材、原始碼、游戲等)
有什么需要歡迎私我,交流群讓學習不再孤單

👉前提

當前環境

2021年10月8日最新下載2020.3.1 Patch 2 版本

👉實踐程序

😜快捷鍵

只要用電腦,快捷鍵是必不可少的,她可以有效免去一些復雜操作才能完成的任務,大大提高效率,所以我們也要熟知Android Studio的快捷操作,
快速查找:雙擊【Shift】或者【Ctrl+ Shift+F】或者【Ctrl+F】
多行編輯:這個功能相當重要,小空在平時基本是必然使用的技能了,選中多個同時編輯,默認應該是【Alt+J】,可以在快捷鍵中增加快捷,比如【Alt+D】更加方便的操作,
在【File-Settings-Keymap】找到【Add Selection for Next Occurrence】
在這里插入圖片描述

引數定義提示:有時候呼叫方法的時候傳遞引數多了,忘記是什么型別或者什么含義了,游標放在方法那按【Ctrl+P】會快速提示你需要傳遞什么,
在這里插入圖片描述

代碼行上下移動:【Alt+Shift+上箭頭或下箭頭】
快速復制當先行:【Ctrl+D】
查看大綱:當類過長的時候,可以查看當前簡約畫面,【Ctrl+F12】和面板中的【Stucture】相似,
一鍵移除無用import:雖然默認import是折疊狀態,但是那種灰色的無用的import真的讓人看起來很糾結,Androit官方肯定也不喜歡,所以提供了一鍵移除:【Code-Optimize Imports】,快捷鍵是【Ctrl+Alt+O】,

😜書簽和收藏夾

接收老專案或者他人專案的時候,往往需要分析代碼,除了自己寫腦圖外,還要經常記錄下關鍵代碼,如果記在別的地方,查找的時候很麻煩,如果能過將這些關鍵代碼快速定位就好了,
因此書簽功能就有了,顧名思義,和瀏覽器的書簽類似,她可以將當前代碼保存到書簽中,雙擊后可快速定位到書簽代碼位置,方便的很,
收藏夾:去【File-Setting-KeyMap】中找找【Add to Favorites】,默認應該是【Alt+Shift+F】快捷鍵,
書簽:去【File-Setting-KeyMap】中找找【Toggle Bookmark】,默認應該是【F11】
而且支持書簽說明,可以備注上你的關鍵詞,打上書簽后代碼左側有個【對勾】,點擊后有個【Edit Bookmark Description】就是了,
在這里插入圖片描述

😜Tip-小提示

相信每次打開Android Studio的時候都會看見一個小提示框【Tip of the Day】,有的朋友感覺很麻煩就會勾選【don’t show tips】,但小空不推薦你這么做,千萬不要小瞧這些提示,這些都是濃縮的技巧精華,非常的實用,抽時間看看了解下,隨著時間的推移會帶來很大的效率收益,遠遠大于你看Tpis的時間成本,
如果之前關閉過,打開位置在【Help- Tip of the Day】

😜單詞凸顯提醒

平時用的時候你會發現,當游標在某個單詞的時候后,其他地方的也會顯示出來,但就是不明顯,
其實設定在【File-Settings-Editor-Color Scheme-General】中(注意不是肯定這個位置,不同的版本位置可能差異),找到【Identifier under caret】和【Identifier under caret(write)】,我找了個合適的顏色設定
在這里插入圖片描述

😜極速國際化

一些優秀的產品不缺乏國外用戶,所以產品的多語言化就得配置好,Android Studio支持快速配置,首先打開string.xml,在該編輯區右側上方有個Open Editor,點擊后就打開了配置頁面,
在這里插入圖片描述

😜JPG/PNG轉WebP

現在你看很多網站的圖片都是webp格式的了,因為她是一種現代影像格式,為 Web 上的影像提供卓越的無損壓縮,使用 WebP,網站站長和 Web 開發人員可以創建更小、更豐富的影像,使 Web 更快,
提供有損壓縮(如 JPEG)并支持透明性(如 PNG),
無損 WebP支持透明度(也稱為 alpha 通道),成本僅為22% 的額外位元組,對于損失 RGB 壓縮可以接受的情況下,損失WebP 也支持透明度,
在Android開發中,經常追求包體積體積的大小和流量的消耗,除了外部的Tiny壓縮,Android Studio本身提供了將圖片轉為WebP格式,

  1. 右鍵點擊某個圖片檔案或包含很多圖片檔案的檔案夾,在出來的右鍵選單最下方有個Convert to WebP,
  2. 點擊彈出配置框,默認點擊OK即可,
  3. 默認質量為3/4,但是體積大大縮小(即使無損壓縮,也會縮小體積)
    在這里插入圖片描述
    在這里插入圖片描述

😜代碼折疊

當類寫的代碼多的時候,折疊方法,能夠很好的了解該類的主要功能,
【Ctrl+Shift+數字鍵加號】:展開所有方法
【Ctrl+Shift+數字鍵減號】:折疊所有方法
【Ctrl +數字鍵加號】:展開當前游標所在方法
【Ctrl +數字鍵減號】:折疊當前游標所在方法

😜代碼模板

通過簡單的字母,快速完成代碼,比如輸入fori,就可以自動補全一個for的i自加回圈,
快捷鍵【Ctrl+J】呼出代碼模板界面,
當然了,她也是支持自定義的,
在這里插入圖片描述

😜演示模式

中大型公司都有Review代碼的習慣,可以快速的增強代碼質量和相互學習,但是總不能一堆人圍著一個電腦小螢屏吧,小螢屏也就算了,如果代碼區域還是那么小更加看不清了,
在這里插入圖片描述
所以Android Studio提供了演示模式,可以很方便的放大代碼區域,隨便“指點江山”,
在這里插入圖片描述

😜自動斷點

比如NullPointerException,使用Java代碼可能遇到這個斷點最多,如果斷點難道要在所有可能的地方都打上?其實并不然,Android Studio提供了指定例外觸發的時候自動斷點
在【Run-View Breakoints…】或者快捷鍵【Ctrl+Shift+F8】
點擊右上角的”+”,選擇Java Exception Breakpoints,并輸入要監聽的例外即可
在這里插入圖片描述

😜面板相關

在Android Studio最左側-90度豎著有個Stucture面板,從Eclipse過來的老開發人應該知道,改標簽不僅可以顯示代碼結構,還可以顯示方法,成員變數等等內容,能夠讓你一覽該類的骨架內容,點擊可以快速定位到該位置,
不僅僅支持代碼,還支持布局等其他內容,
在這里插入圖片描述

😜代碼區白色豎線

在這里插入圖片描述
白線條為代碼格式化的時候換行位置,當代碼長度超過該位置的時候,【Ctrl+Alt+L】格式化代碼換行,
設定位置在【File-Settings-Editor】,有兩個一個是是否顯示,一個是調整該豎線的位置(即寬度),
在這里插入圖片描述
在這里插入圖片描述

😜界面預覽

Android發展到現在,已經很成熟了,相信很多公司都有自己的適配方案,適配已經不是很難解決的問題了,開源適配方案又以今日頭條適配最為火熱,
使用了AndroidAutoSize的也一定修改過頁面預覽設定,
不僅這個方案,哪怕其他方案肯定少不了各種界面預覽,我們總不能“奢望”公司各種解析度的手機和平板全部買來吧?就算買來,就這抽插抽插資料線都磨練人,
什么?你說無線除錯?安裝程序不耗時嗎,得不償失啊,所以最好的是先用Android Studio提供的專用預覽工具先預覽預覽,感覺差不多了再運行真機除錯,省事省力省心,
在這里插入圖片描述
除了默認的谷歌自帶的解析度為
在這里插入圖片描述
還支持自定義解析度

在這里插入圖片描述
不同的預覽切換不同的設備即可,有的人可能遇到創建后發現在設備串列中沒找到或者每次打開一個布局都要重新選擇,
這時候你選擇你想預覽的布局重啟Android Studio即可,

😜預覽串列布局

上面的普通預覽我們很容易做到,但是默認串列布局【ListView】【GridView】【RecyclerView】是沒有預覽的,不過官方也提供了方法:利用tool

在這里插入圖片描述
不僅僅是串列,Fragment默認我們也不能預覽,同樣利用【tool:layout】可以實作預覽,這效率提升可以說很穩了,
除此之外還有頭布局【tools:listheader】和尾布局【tools:listfooter】預覽,
還有【@tools:sample/】的強大功能,她可以做到串列布局的預覽資料以JSON形式讀取,這節我們不討論此功能,
另外再提一句:從中可以看出android屬性可以替換為tool,可以達到預覽的效果,發布后還不顯示,很歡樂
在這里插入圖片描述

😜快速查看界面對應的Activity名字

在作業中對接專案是必不可少的環節,下載匯入學習開源專案也是時有的事,當前顯示的頁面找到對應的類,有時候還真得耽誤不少時間,所以我們就要利用“手段”快速找到當前類,
如果當下專案Activity繼承有一個統一的【BaseActivity】(沒有的話自己寫一個繼承下),之后在【onCreate】中添加:
Log.e(“TAG”,“當前界面顯示的是:”+getClass().getName());
運行后,日志中可隨時查看的啊,方便的很,一勞永逸啊
在這里插入圖片描述

😜Android Studio自帶截圖功能

在開發程序中,有不少場景需要截圖錄像和別人溝通,一般首先想到的就是真機截圖和錄像功能,沒錯,這方法很對,
,還有個不錯的方法,
Android Studio提供了截圖和錄像功能,直接就保存到電腦上了,這個在開發中能提供很大便利,想發給誰發給誰,
在這里插入圖片描述
在這里插入圖片描述

😜Null判斷

此處先不討論Kotlin語言,
據小空瞎JB統計,Null例外應該是遇到的最多的例外了,平時我們也養成了非空判斷的代碼規范,雖然這樣的主觀確實很棒,但這往往還不夠,百密一疏,除了平時測驗測出來的容易發現外,尤其是線上的產品,基本都是靠JSON資料通信的,服務器什么時候出問題那可不保準,這之后基本能出不少NULL,比如String和List,除了我們開發程序中提前的try之外,還可以在Model的物體中再getXXX()方法那就進行Null判斷,確保回傳不是Null,
那么我們就得利用工具來實作對應的代碼模板了,
點擊快捷鍵【Alt+Insert】選擇【Getter and Setter】
在這里插入圖片描述

😜格式化自動排序代碼

隨著不斷的更新,甚至不更新,方法會越來越多,代碼也會越來越多,如果在同一個類中方法封裝的多了,就是A調B調C調D,
如果你要是沒有按照順序往下寫,而是亂的,這會導致越來越雜亂無章,別說他人看你的代碼了,過幾天你自己看都得回憶回憶,甚至找半天,
所以我們要將代碼盡量按照就近原則,比如A調B調C調D,那么這四個方法是緊挨著的,當然了,在撰寫代碼程序中就可以這么做,但別太相信自己了,隨時有可能忘記這一規則,久而久之,就又亂套了,
所以我們要借住工具來幫我們處理,快捷還安全,更不會忘記,
打開路徑【File-Settings-Editor-Code Style-Java-Arrangement】

在這里插入圖片描述
主要就是上圖中框起來的兩個內容:
Keep overridden methods together
她的里面后面又有兩個選項一個【keep order】按照原順序,一個【order by name】按照字母表排序,該功能是帶有override標志的方法排序設定,這些方法要么是系統的,要么是自定義的,放在一起更加規范一些,建議直接使用【keep order】
Keep dependent methods together
這個是一般方法排序,后面也是兩個選項【breadth-first order】和【depth-first order】,從字面翻譯前者是廣度優先,后者是深度優先,廣度排序就是排好方法A排方法B,不管理方法里面的方法順序,而深度是排方法A,里面有嵌套方法就一直深挖排序,沒有則回來接著找下一個方法,
點擊保存設定,還差最后一步,快捷鍵【Ctrl + Alt + Shift + L】
在這里插入圖片描述
至此,以后使用快捷鍵【Ctrl + Alt + L】格式化代碼的時候,會連帶著感覺設定規則整理方法排序,
在這里插入圖片描述

👉其他

📢作者:小空和小芝中的小空
📢轉載說明-務必注明來源:https://zhima.blog.csdn.net/
📢歡迎點贊👍收藏🌟留言📝

👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/317696.html

標籤:其他

上一篇:Pygame實戰:爆肝!幾千行代碼實作《機甲闖關冒險游戲》,太牛了!(??建議收藏起來慢慢學??)

下一篇:OpenCV 1 讀取影像

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more