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

这就节省了不少时间了。

 

好了,此次先说这么多,想到了再补充下吧。

相关文章
相关标签/搜索