Android開發學習之路-Android Studio開發小技巧

上一次發過了一個介紹Studio的,這裏再發一個補充下。安全

咱們都知道,Android Studio的功能是很是強大的,也是很智能的。若是有人告訴你學Android開發要用命令行,你能夠告訴他Android Studio是谷歌提供給開發者提高效率的。試想一想你腦殼裏有一堆想法,可是開發編碼效率過低致使想法都丟失了或者興趣消失了多可怕對不。好了廢話很少說,這裏介紹幾個比較好用的技巧和快捷鍵,提高咱們的編碼效率。學習

1.完成一句代碼this

若是咱們調用了一個方法,並給方法傳遞了參數,這個時候若是咱們要結束這個語句,就會用鼠標或者方向鍵移動光標到行末,輸入而後回車結束。這樣子其實效率是很低的,爲何?由於咱們的手在鍵盤上,要去摸鼠標和方向鍵的距離都是比較遠的。因此這裏介紹一個組合快捷鍵用來完成依據代碼:Ctrl+Shift+Enter編碼

 

這裏能夠看到,咱們調用了方法以後,直接使用快捷鍵,Studio會直接跳到最後並加了一個分號,若是咱們再按一下快捷鍵,會跳轉到下一行。若是你以爲這個快捷鍵有點長(我是這麼以爲的),能夠經過自定義快捷鍵來簡化這個功能。下面給下具體的步驟:spa

① 打開Settings插件

② 選擇Keymap命令行

③ 點擊搜索框右邊的按鈕3d

④ 按下你須要修改的對應快捷鍵,也就是Ctrl+Shift+Enter,會搜索到對應的快捷鍵,雙擊對應的快捷鍵設置,點擊按鈕以後會出現下圖code

⑤ 選擇第一個選項來增長一個快捷鍵,會出現下圖orm

能夠直接在這個界面按下你想要的快捷鍵組合,能夠看到若是已經存在的快捷鍵,那麼下面會出現一個黃色歎號警告,咱們能夠多嘗試,選擇最方便本身的就能夠了。我設置的是Alt+M,M是移動的意思,因此就記住了。

 

2.打開文檔

上一次介紹Studio的經過設置讓鼠標懸停在代碼上會打開文檔,可是默認是不會的。文檔是咱們學習的最重要的一個對象,在遇到問題的時候第一要想到的應該是文檔。打開文檔的快捷鍵默認是:Ctrl+Q,咱們要知道,這不只僅能夠容許咱們在代碼中打開文檔,也能夠在代碼補全的時候打開對應補全的文檔,能夠看下面這個圖

這裏在補全的時候若是咱們不知道isEmpty方法的用處,能夠先將光標移動到該補全的位置,而後按下快捷鍵,就能夠代開對應的文檔。

 

3.提示方法參數

有時候咱們寫着寫着就忘記了這個方法要傳入一個什麼類型的參數,這個時候,可使用快捷鍵:Ctrl+P,效果以下

當光標在方法中的時候,按下快捷鍵,Studio會提示咱們這個方法須要的參數,這個也是比較經常使用的。

 

4.複製代碼

選中你的代碼,而後按下快捷鍵:Ctrl+D,總比按Ctrl+C和Ctrl+V快吧。

 

5.快速打開文件

當咱們須要打開項目中的某個文件的時候,能夠經過快捷鍵Ctrl+Shift+N打開搜索框,而後輸入文件名回車便可。按下快捷鍵會獲得以下搜索框:

 

6.跳轉到代碼聲明

快捷鍵:Ctrl+B,這個就很少說了。

 

7.重寫父類方法

快捷鍵:Ctrl+O

能夠看到,打開了選擇框以後咱們能夠直接輸入須要重寫的方法名來進行查找,匹配上的直接回車就好。

 

8.安全重命名

好處就是不用本身手動進行每一個地方的修改。只須要將光標移動到要重命名的地方,按下快捷鍵:Shift+F6,這個時候會提示你輸入一個新的名字,而後系統會進行搜索,找到全部同名的變量或者方法,而後提示給用戶,界面會是下面這樣:

這個地方會顯示全部使用了這個變量或方法的地方,若是咱們須要直接重命名,能夠點擊左下角的Do Refactor按鈕進行確認,若是有不須要重命名的地方,能夠選中該行,右擊,選擇Exclude進行剔除。

 

9.查找使用方法或類的地方

當項目比較大的並且對Activity進行太重構的時候,或者對別的代碼進行維護的時候,不少時候咱們須要知道一個方法究竟在哪裏被調用了,這個時候能夠經過快捷鍵:Alt+F7來查找到全部使用了這個方法的地方。

 

10.打開最近使用文件列表

快捷鍵:Ctrl+E,這個也很少說,谷歌官方的演示視頻會常常看到有工程師用這個快捷鍵。

 

接着介紹一些除了快捷鍵之外的技巧。

1.若是要判斷一個字符串是否是空你會像下面這樣作嗎?

2.若是你要逆序遍歷一個ArrayList你會像下面這樣作嗎?

3.若是要根據一個Json數據來寫一個對應的bean,你會怎麼寫?這裏可使用一個比較方便的插件來作,名字叫 GSONFormat ,咱們使用這個插件能夠經過一段Json生成一個對應的類,怎麼下載這個插件的話能夠本身百度一下。

好比有這麼一段Json數據:

{
    "errNum": "0",
    "errMsg": "success",
    "querySign": "3845925467,2370020290",
    "retData": [
        {
            "rect": {
                "left": "0",
                "top": "0",
                "width": "33",
                "height": "31"
            },
            "word": "  8"
        }
    ]
}

插件界面:

使用插件能夠直接生成一個對應的類代碼以下:

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;}
        }
    }
}

這就節省了不少時間了。

 

好了,此次先說這麼多,想到了再補充下吧。

相關文章
相關標籤/搜索