Android Studio相见恨晚的操作锦集

ghyljydf 8年前
   <p>作为一个Android开发者,最常使用的就是Android Studio了,我在这里声明Android Studio比Eclipse好用100倍,不服来辩。本文用于纪录Android Studio中 <strong>相见恨晚</strong> 的操作,阅读本文大概需要不确定时间。(你难道就不边读边试试?)我会用尽量简单明了的语言介绍。PS:多图,流量用户慎入。</p>    <p>为了方便 <em>老读者</em> 阅读,我会将更新内容放在开头。<br> <em>新用户</em> 可以直接跳过该部分,该内容已经在文中同步更改。</p>    <table>     <thead>      <tr>       <th>更新日期</th>       <th>更新内容</th>       <th>备注</th>      </tr>     </thead>     <tbody>      <tr>       <td>2016/9/22</td>       <td>更新Android Studio 2.2 查询示例程序的操作,具体见内容 5</td>       <td> </td>      </tr>      <tr>       <td>2016/9/17</td>       <td>更新 提取 和 内联 的快捷操作,具体看内容 1.3.2 和 1.3.3</td>       <td>感谢 <a href="/misc/goto?guid=4959731788845161488" rel="nofollow,noindex">MAIMIHO</a> 读者的提供。参考链接: <a href="/misc/goto?guid=4959731788937015615" rel="nofollow,noindex">1</a> , <a href="/misc/goto?guid=4959731789021716527" rel="nofollow,noindex">2</a></td>      </tr>      <tr>       <td>2016/7/30</td>       <td>更新更简单的非空输入方法 对象.nn</td>       <td> </td>      </tr>      <tr>       <td> </td>       <td>更新Windows版查看类的继承关系快捷键 Ctrl+H</td>       <td>感谢3f76b4e62a13的补充</td>      </tr>      <tr>       <td> </td>       <td>更新活动模版查看和自定义入口 Preference -> Editor -> Live Templates</td>       <td>感谢Sacowiw的提供</td>      </tr>      <tr>       <td>2016/7/25</td>       <td>更新大纲 Windows版快捷键 Ctrl+F12</td>       <td>感谢Alex_Cin,bryanno1的提供和验证</td>      </tr>     </tbody>    </table>    <h2>1 编写</h2>    <h2>1.1 活动模版</h2>    <h3>1.1.1 for循环原来可以这样</h3>    <p>遍历集合的时候, 对象.for 就可以生成迭代循环遍历:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/610c661a8a5ce3c518e1e15a75d87a90.gif"></p>    <p>.fori 可以这样:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/07214eb4d99e5f8bb2603d417d19c3c2.gif"></p>    <p>.forr 可以反向:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/a72b3a77e537054805f34989433eb7fe.gif"></p>    <p>数字.for 也可以:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/b1951226482868ccf5a1578966be041f.gif"></p>    <h3>1.1.2 判空可以这样</h3>    <p>在写代码的时候,判空是不可避免的。判空可以这样, 对象.null :</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/ae6a2e1c27a1585b65ecc25d0fae9529.gif"></p>    <p>非空可以这样, 对象.notnull :</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/c0c6e6992f3579a130d9a9a0b130fd6d.gif"></p>    <p>非空还有更简单的方法, 对象.nn :</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/0c2436c2b6087e09aaf4d74c62eef126.gif"></p>    <h3>1.1.3 别再写if()了</h3>    <p>if可是我们最常用的了,但是我劝你再也不要写if()了,试试任何可以判断的语句后面加上.if:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/3834ddc199cfba84fd70af49065737fc.gif"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/d9e368aeb6634c2d26ff4fbfd3577562.gif"></p>    <h3>1.1.4 instance也可以很炫酷</h3>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/15f57b4da5a2bc1cd16d25a7d7e4f074.gif"></p>    <h3>1.1.5 活动模版自定义和查看入口</h3>    <p>Preference -> Editor -> Live Templates ,这个窗口下小伙伴们可以看到所有的活动模版,还可以自定义自己的活动模版。例如我就定义了一个 tc ,作为 android:textColor="" 的活动模版。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/7c4590c91fd7be0c0ce1a0d46177dcc5.png"></p>    <h2>1.2 多行编辑</h2>    <p>喜欢用sublime等编辑器的小伙伴对这个应该在熟悉不过了。</p>    <h3>1.2.1 多行编辑</h3>    <p>例如我们有四个Button要定义,可以先这样,按住alt键+鼠标左键一直向下拉,就可以选中多行,然后编辑就可以同时对多行进行编辑,编辑完相同部分再分别输入不同部分就ok了:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/a4d430a5ce8f0f76465d3d73194147ae.gif"></p>    <h3>1.2.2 块编辑</h3>    <p>比如我们要把上边定义的四个Button 改为TextView类型:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/3820bcb9c6c3ccfc236d5cae6c8d3ed7.gif"></p>    <p>操作也是按住alt不放,拉对角线,拉出一块,就可以对选中的块,进行块编辑了。</p>    <h2>1.3 快捷键</h2>    <h3>1.3.1 Alt+Enter</h3>    <p>这个是Android Studio神快捷键。如果你还认为Alt+Enter键是导入包,那就大错特错了。以后有事没事就按下吧。它会根据不同的情况给出操作建议,大大提高工作效率。</p>    <p>eg.</p>    <p>我要获取布局文件中的RecyclerView,findViewById写好了,这个时候需要强制类型转化,在红线上按使用该快捷键,给出了提示Cast to …(此处省略好几个字),再回车,代码生成好了。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/cfba05d1ef7cd5b4c192c6c92391be38.gif"></p>    <p>接下来是要给RecyclerView设置一个Adapter,那么我先写了没有的PersonAdapter类,那么这个类是没有的,提示红色,我们在该类上使用该快捷键,给出了提示:Create class …,回车,这个类便创建好了。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/af6fb2466f2d178f05de082ff6be689a.gif"></p>    <p>但是我们要实现RecyclerView.Adapter中的方法,我们在红线部分使用快捷键,看到给出提示implement method,回车,方法实现了。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/2e03b22038fe5580deeffb398bcf0a1e.gif"></p>    <p>Alt+Enter快捷键是Android Studio中的神键,它的功能远不止这些,没事就按一按吧。按按更健康。</p>    <h3>1.3.2 提取 方法,style,layout等</h3>    <p>我在写代码的时候都是先写可用的代码,把功能都实现之后,立即重构,在这个时候我经常用到 提取方法 的这个快捷键: alt+command+M</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/5c11fcc1c04f226df139c26fb372d9aa.gif"></p>    <p>提取sytle,layout等并没有默认的快捷键。如果你的有,可能我们用的不是同一套,不过无论怎样,你都可以去偏好设置里去自定义快捷键。那么打开keymap。找到Extract,可以看到,包括之前的提取方法操作也在这里,下面的style和Layout就是提取样式和和布局了。你也可以看到还有很多。你可以根据自己的喜好了来自定义快捷键。</p>    <p><img src="https://simg.open-open.com/show/94b2ca96cbd2f7250e42d2e179958917.png"></p>    <p>演示:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/5565426890f94f80f0c20d7b73ea0dd3.gif"></p>    <p>提取布局</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/52cfee371c9fdae8821eb5ebea20c5f1.gif"></p>    <p>提取样式</p>    <h3>1.3.3 内联</h3>    <p>对于上面我们提取出的方法,样式或者布局,这些都可以使用内联把他们加回使用的地方。这个我并不是很常用。不过还是介绍一下吧。这个默认快捷键是: alt+command+N ,在keymap表中的 Inline 。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/d64e9d45b5753a7dd15c5dd13618e9d2.gif"></p>    <p>将布局内联到当前布局</p>    <h2>2 搜索</h2>    <p>在写代码的过程中,代码检索永远都少不了。如果你是眼睛去找,那效率真的不知道要差到哪里去了。</p>    <h3>2.1 搜索基本操作</h3>    <p>这些搜索操作我叫做基本操作</p>    <table>     <thead>      <tr>       <th>操作</th>       <th>Mac</th>       <th>Windows</th>      </tr>     </thead>     <tbody>      <tr>       <td>搜索类</td>       <td>Command+O</td>       <td>Ctrl+N</td>      </tr>      <tr>       <td>文件中搜索</td>       <td>Command+F</td>       <td>Ctrl+F</td>      </tr>      <tr>       <td>搜索文件</td>       <td>Command+shift+O</td>       <td>Ctrl+shift+N</td>      </tr>      <tr>       <td>全局查找</td>       <td>Command+shift+F</td>       <td>Ctrl+shift+F</td>      </tr>     </tbody>    </table>    <p>要是懒的话,这四个基本可以解决查找问题。</p>    <h3>2.2 大纲</h3>    <p>大纲快捷键 Mac:Command+F12 Windows:我不知道。。。(我自己用的Mac有些Windows的我也不知道。欢迎补充,PS:我的Mac开启了将Fx键用作标准功能键,如果没有开启的小伙伴,你的快捷键就是Command+Fn+F12),大纲出来了,就可以查看该类中的成员变量和成员方法,直接输入名称就可以筛选查询。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/564a6d14922677d3d8e549bda5587fb7.gif"></p>    <h3>2.3 Search Everywhere</h3>    <p>这个功能的强大就如它的名字一样,它的快捷键是双击shift,输入关键字就可以。就连窗口都可以搜索奥。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/daeffd4ca5b61e7c0e9742610324da34.gif"></p>    <h2>3 窗口</h2>    <h3>3.1 分屏</h3>    <p style="text-align: center;">分屏可以上下,可以左右,我更喜欢左右分屏,有的时候很方便。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/ef0e826eee43206e78aeb73c387078f3.png"></p>    <p>你可以直接使用Search Everywhere功能,然后输入split会有vertically和Horizontally两种,选择你要的就可以。或者在编辑窗口上的标签,右击,选择split vertically或者split Horizontally。我比较喜欢使用Search Everywhere,键盘总比鼠标快。</p>    <h3>3.2 Hierarchy窗口</h3>    <p>Hierarchy窗口可以让我们看清楚层级关系,还记得之前非常火的一个段子讲,是好朋友不会让你学Java的,然后附了一张Java继承关系的图,在继承关系层级很深,很复杂的时候,这个窗口简直不能太好。</p>    <p>这个是类的继承关系:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/29d57e8f5bceeb2d17ae0cdc8960bbe7.png"></p>    <p>打开这个窗口,可以使用Search Everywhere功能,输入Hierarchy就可以,Mac也可以使用快捷键ctrl+H,Windows快捷键也是ctrl+H。</p>    <p>还有一个Call Hierarchy,可以显示出方法的调用层级关系:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/23f327dc5c4e7bb0613cda097c9027f3.png"></p>    <p>这个的快捷键是ctrl+alt+H。</p>    <h2>4 调试</h2>    <p>调试过程在开发中也是少不了的。</p>    <h3>4.1 快照</h3>    <p>有关UI的编程,这个功能知道会省很多事。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/477704f2cbc7a61fa5b3c41eef679ea5.png"></p>    <p>在运行过程中,可以给手机截图,并保存。再也不用手机截图然后再传电脑了。</p>    <h3>4.2 录屏</h3>    <p>在做有关动画的功能的时候,录屏功能可以让你更好的检查动画是否正确。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/112efd1ee83a867e5b0405da7228ecac.png"></p>    <h3>4.3 断点</h3>    <p>断点的使用,断点的用法不止是让程序停下来。试一试在停下来之后使用快捷键Alt+F8,调出Evaluate Expression界面,在该界面你可以输入你想查看的值,就可以显示出来。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/072a457a8fa1167568f88b5c921e5bb0.jpg"></p>    <p>除此之外在断点处右击,会出现如下的界面,你可以在图中光标处输入断点停下的条件,当你需要在一个循环中打断点的时候,这简直就是神技:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/327ca3a982f1f6297a116160ba94a146.png"></p>    <p>在上图中Suspend前的勾取消会看到这样的界面:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/ca93c1b91ec5a652b88cae37439b6414.png"></p>    <p>这个界面上内容更多,比如你选中了Log evaluated expression,然后在下面的输入框中输入你想要输出的log,那么这个断点就不会在这里停下来,而是在控制台输出一条日志。</p>    <h2>5 查询示例程序</h2>    <p>这个功能让我感觉越来越像代码的搬运工了! 使用该内容需要,Android Studio2.2以及在 SDK Manager 中下载 Samples for SDK ,然后重启AS,再然后尽人事听天命,昨天搞了半天就是出不来,不知道今天怎么好了……究竟是AS的灵异事件还是我的努力感动了上天,反正我成功了。</p>    <p>在一个不会用的类上右键,选择 Find Sample Code ,或者使用你看到的快捷键 alt+F8 ,Windows版的快捷键自己查询。之后就可以方便的查看示例代码。例如我们查看ColorMatrix的示例代码:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/04c0a4e21a11b40129045f2099dd5c55.png"></p>    <p>查询结果会在下方出现,不过有的时候要等很久,有的还找不到:</p>    <p><img src="https://simg.open-open.com/show/253fc54d1a87b0a268f989234ae06b21.png"></p>    <p>不过已经非常不错了。首先有Android官方网站的官方文档。下面会有几个包涵ColorMatrix的栗子。单击可以在右边直接查看其内容。如果硬是出不了的话,又实在想看,那么就去github上去查看吧,有一个组织叫GoogleSample,去搜就行了。</p>    <h2> </h2>    <p> </p>    <p>来自:http://www.androidchina.net/6047.html</p>    <p> </p>