你值得擁有的Android Studio開發(fā)小技巧
上一次發(fā)過(guò)了一個(gè)介紹Studio的,這里再發(fā)一個(gè)補(bǔ)充下。
我們都知道,Android Studio的功能是非常強(qiáng)大的,也是很智能的。如果有人告訴你學(xué)Android開發(fā)要用命令行,你可以告訴他Android Studio是谷歌提供給開發(fā)者提升效率的。試想想你腦袋里有一堆想法,但是開發(fā)編碼效率太低導(dǎo)致想法都丟失了或者興趣消失了多可怕對(duì)不。好了廢話不多說(shuō),這里介紹幾個(gè)比較好用的技巧和快捷鍵,提升我們的編碼效率。
1.完成一句代碼
如果我們調(diào)用了一個(gè)方法,并給方法傳遞了參數(shù),這個(gè)時(shí)候如果我們要結(jié)束這個(gè)語(yǔ)句,就會(huì)用鼠標(biāo)或者方向鍵移動(dòng)光標(biāo)到行末,輸入;然后回車結(jié)束。這樣子其實(shí)效率是很低的,為什么?因?yàn)槲覀兊氖衷阪I盤上,要去摸鼠標(biāo)和方向鍵的距離都是比較遠(yuǎn)的。所以這里介紹一個(gè)組合快捷鍵用來(lái)完成依據(jù)代碼:Ctrl+Shift+Enter

這里可以看到,我們調(diào)用了方法之后,直接使用快捷鍵,Studio會(huì)直接跳到最后并加了一個(gè)分號(hào),如果我們?cè)侔匆幌驴旖萱I,會(huì)跳轉(zhuǎn)到下一行。如果你覺得這個(gè)快捷鍵有點(diǎn)長(zhǎng)(我是這么覺得的),可以通過(guò)自定義快捷鍵來(lái)簡(jiǎn)化這個(gè)功能。下面給下具體的步驟:
① 打開Settings
② 選擇Keymap
③ 點(diǎn)擊搜索框右邊的按鈕

④ 按下你需要修改的對(duì)應(yīng)快捷鍵,也就是Ctrl+Shift+Enter,會(huì)搜索到對(duì)應(yīng)的快捷鍵,雙擊對(duì)應(yīng)的快捷鍵設(shè)置,點(diǎn)擊按鈕之后會(huì)出現(xiàn)下圖

⑤ 選擇第一個(gè)選項(xiàng)來(lái)增加一個(gè)快捷鍵,會(huì)出現(xiàn)下圖

可以直接在這個(gè)界面按下你想要的快捷鍵組合,可以看到如果已經(jīng)存在的快捷鍵,那么下面會(huì)出現(xiàn)一個(gè)黃色嘆號(hào)警告,我們可以多嘗試,選擇最方便自己的就可以了。我設(shè)置的是Alt+M,M是移動(dòng)的意思,所以就記住了。
2.打開文檔
上一次介紹Studio的通過(guò)設(shè)置讓鼠標(biāo)懸停在代碼上會(huì)打開文檔,但是默認(rèn)是不會(huì)的。文檔是我們學(xué)習(xí)的最重要的一個(gè)對(duì)象,在遇到問(wèn)題的時(shí)候第一要想到的應(yīng)該是文檔。打開文檔的快捷鍵默認(rèn)是:Ctrl+Q,我們要知道,這不僅僅可以允許我們?cè)诖a中打開文檔,也可以在代碼補(bǔ)全的時(shí)候打開對(duì)應(yīng)補(bǔ)全的文檔,可以看下面這個(gè)圖

這里在補(bǔ)全的時(shí)候如果我們不知道isEmpty方法的用處,可以先將光標(biāo)移動(dòng)到該補(bǔ)全的位置,然后按下快捷鍵,就可以代開對(duì)應(yīng)的文檔。
3.提示方法參數(shù)
有時(shí)候我們寫著寫著就忘記了這個(gè)方法要傳入一個(gè)什么類型的參數(shù),這個(gè)時(shí)候,可以使用快捷鍵:Ctrl+P,效果如下

當(dāng)光標(biāo)在方法中的時(shí)候,按下快捷鍵,Studio會(huì)提示我們這個(gè)方法需要的參數(shù),這個(gè)也是比較常用的。
4.復(fù)制代碼
選中你的代碼,然后按下快捷鍵:Ctrl+D,總比按Ctrl+C和Ctrl+V快吧。

5.快速打開文件
當(dāng)我們需要打開項(xiàng)目中的某個(gè)文件的時(shí)候,可以通過(guò)快捷鍵Ctrl+Shift+N打開搜索框,然后輸入文件名回車即可。按下快捷鍵會(huì)得到如下搜索框:

6.跳轉(zhuǎn)到代碼聲明
快捷鍵:Ctrl+B,這個(gè)就不多說(shuō)了。
7.重寫父類方法
快捷鍵:Ctrl+O

可以看到,打開了選擇框之后我們可以直接輸入需要重寫的方法名來(lái)進(jìn)行查找,匹配上的直接回車就好。
8.安全重命名
好處就是不用自己手動(dòng)進(jìn)行每個(gè)地方的修改。只需要將光標(biāo)移動(dòng)到要重命名的地方,按下快捷鍵:Shift+F6,這個(gè)時(shí)候會(huì)提示你輸入一個(gè)新的名字,然后系統(tǒng)會(huì)進(jìn)行搜索,找到所有同名的變量或者方法,然后提示給用戶,界面會(huì)是下面這樣:

這個(gè)地方會(huì)顯示所有使用了這個(gè)變量或方法的地方,如果我們需要直接重命名,可以點(diǎn)擊左下角的Do Refactor按鈕進(jìn)行確認(rèn),如果有不需要重命名的地方,可以選中該行,右擊,選擇Exclude進(jìn)行剔除。
9.查找使用方法或類的地方
當(dāng)項(xiàng)目比較大的而且對(duì)Activity進(jìn)行過(guò)重構(gòu)的時(shí)候,或者對(duì)別的代碼進(jìn)行維護(hù)的時(shí)候,很多時(shí)候我們需要知道一個(gè)方法究竟在哪里被調(diào)用了,這個(gè)時(shí)候可以通過(guò)快捷鍵:Alt+F7來(lái)查找到所有使用了這個(gè)方法的地方。
10.打開最近使用文件列表
快捷鍵:Ctrl+E,這個(gè)也不多說(shuō),谷歌官方的演示視頻會(huì)經(jīng)常看到有工程師用這個(gè)快捷鍵。
接著介紹一些除了快捷鍵以外的技巧。
1.如果要判斷一個(gè)字符串是不是空你會(huì)像下面這樣做嗎?

2.如果你要逆序遍歷一個(gè)ArrayList你會(huì)像下面這樣做嗎?

3.如果要根據(jù)一個(gè)Json數(shù)據(jù)來(lái)寫一個(gè)對(duì)應(yīng)的bean,你會(huì)怎么寫?這里可以使用一個(gè)比較方便的插件來(lái)做,名字叫 GSONFormat ,我們使用這個(gè)插件可以通過(guò)一段Json生成一個(gè)對(duì)應(yīng)的類,怎么下載這個(gè)插件的話可以自己百度一下。
比如有這么一段Json數(shù)據(jù):
{
"errNum": "0",
"errMsg": "success",
"querySign": "3845925467,2370020290",
"retData": [
{
"rect": {
"left": "0",
"top": "0",
"width": "33",
"height": "31"
},
"word": " 8"
}
]
}
插件界面:

使用插件可以直接生成一個(gè)對(duì)應(yīng)的類代碼如下:
public class MyBean {
/**
* errNum : 0
* errMsg : success
* querySign : 3845925467,2370020290
* retData : [{"rect":{"left":"0","top":"0","width":"33","height":"31"},"word":" 8"}]
*/
private String errNum;
private String errMsg;
private String querySign;
/**
* rect : {"left":"0","top":"0","width":"33","height":"31"}
* word : 8
*/
private List<RetDataBean> retData;
public String getErrNum() { return errNum;}
public void setErrNum(String errNum) { this.errNum = errNum;}
public String getErrMsg() { return errMsg;}
public void setErrMsg(String errMsg) { this.errMsg = errMsg;}
public String getQuerySign() { return querySign;}
public void setQuerySign(String querySign) { this.querySign = querySign;}
public List<RetDataBean> getRetData() { return retData;}
public void setRetData(List<RetDataBean> retData) { this.retData = retData;}
public static class RetDataBean {
/**
* left : 0
* top : 0
* width : 33
* height : 31
*/
private RectBean rect;
private String word;
public RectBean getRect() { return rect;}
public void setRect(RectBean rect) { this.rect = rect;}
public String getWord() { return word;}
public void setWord(String word) { this.word = word;}
public static class RectBean {
private String left;
private String top;
private String width;
private String height;
public String getLeft() { return left;}
public void setLeft(String left) { this.left = left;}
public String getTop() { return top;}
public void setTop(String top) { this.top = top;}
public String getWidth() { return width;}
public void setWidth(String width) { this.width = width;}
public String getHeight() { return height;}
public void setHeight(String height) { this.height = height;}
}
}
}
這就節(jié)省了很多時(shí)間了。
好了,這次先說(shuō)這么多,想到了再補(bǔ)充下吧。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android編程實(shí)現(xiàn)圖片拍照剪裁的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)圖片拍照剪裁的方法,涉及Android調(diào)用裁剪工具操作圖片的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-12-12
flutter升級(jí)3.7.3報(bào)錯(cuò)Unable?to?find?bundled?Java?version解決
這篇文章主要介紹了flutter升級(jí)3.7.3報(bào)錯(cuò)Unable?to?find?bundled?Java?version解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加2023-02-02
Android實(shí)現(xiàn)調(diào)用系統(tǒng)相冊(cè)和拍照的Demo示例
這篇文章主要介紹了Android實(shí)現(xiàn)調(diào)用系統(tǒng)相冊(cè)和拍照的Demo示例,實(shí)例分析了Android調(diào)用系統(tǒng)相冊(cè)及拍照的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
Android實(shí)現(xiàn)IM多人員組合的群組頭像
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)IM多人員組合的群組頭像,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
Android動(dòng)態(tài)更換應(yīng)用圖標(biāo)詳情
這篇文章主要介紹了Android動(dòng)態(tài)更換應(yīng)用圖標(biāo)詳情,文章圍繞主題展開詳細(xì)的介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
Android自定義View onDraw()方法會(huì)調(diào)用兩次的問(wèn)題解決
這篇文章主要介紹了Android自定義View onDraw()方法會(huì)調(diào)用兩次的問(wèn)題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01
android Web跳轉(zhuǎn)到app指定頁(yè)面并傳遞參數(shù)實(shí)例
這篇文章主要介紹了android Web跳轉(zhuǎn)到app指定頁(yè)面并傳遞參數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03

