Android Studio 模板用法与自定义模板

TerenceReed 8年前
   <p>本文gif图比较多,可能会导致页面加载缓慢,请大家耐心等待</p>    <p>今天我们来学习下Android Studio这款软件的一些秘密,这些就是Template,就是我们输出一些特定的字符就可以实现自动编写一大堆代码,额,什么意思了?下面还是看图来理解吧!</p>    <h2>Live Template</h2>    <p>这种模板用法就是输入特定字符,按下Tab键即可,此键可自定义设置</p>    <blockquote>     <p>在方法中输入“Toast”并按下Tab键</p>     <p><img alt="Toast" src="https://simg.open-open.com/show/a48b34fd27148a4b0144e7182e08c45e.gif"></p>     <p>快速编写TAG,在类中输入“logt”并按下Tab键</p>     <p><img alt="logt" src="https://simg.open-open.com/show/bb39364f30d420bc4a61333eef964878.gif"></p>     <p>常量的编写,详细见图</p>     <p><img alt="const" src="https://simg.open-open.com/show/a17e9dafe7cadbdf887f5d5c627d39a5.gif"><br> <img alt="key" src="https://simg.open-open.com/show/a48b34fd27148a4b0144e7182e08c45e.gif"></p>     <p>输出语句的书写的正确姿势</p>     <p><img alt="print" src="https://simg.open-open.com/show/bc0faf78fe3cc789e24924608e548eae.gif"></p>     <p>Log打印语句的Code正确方式</p>     <p><img alt="log" src="https://simg.open-open.com/show/dfbd94e3545cad73e93cd2bab921d7e6.gif"></p>     <p>对一个对象的判空/非空语句写法</p>     <p><img alt="ifn-inn" src="https://simg.open-open.com/show/7e7d6820bff7b28af1a002b025c50f6c.gif"></p>     <p>IntentView的写法才叫炫酷</p>     <p><img alt="intentview" src="https://simg.open-open.com/show/12baa8e13067c779f994da1fbb7201a3.gif"></p>     <p>示范就先到这里,这时可能就会问,你是怎么知道要输入的关键字的?我说我猜的你信吗?不管你信不信,我反正不信。-_-!那么我就带大家怎么去找这些输入的关键字。<br> 姿势:Settings > Editor > Live Templates<br> <img alt="templates" src="https://simg.open-open.com/show/66a8d99f32245f3b06083ed4da98bcf6.gif"><br> 大家可以自行去查看,看看是否有自己需要的,学习并记下来,然后运用到代码编写的工作中去,让我们代码编写速度更快更嗨吧!</p>    </blockquote>    <p>可能用着用着就会发现,我可能想实现自己的一个Live Template,可以吗?答案是肯定的。</p>    <h2>自定义Live Template</h2>    <p>具体方法还是看图,这里创建了一个实现类似”logt”的效果,希望大家可以根据这个实现一些复杂的,这里就实现了一个简单的”mytag”<br> <img alt="mytag" src="https://simg.open-open.com/show/73d9e019309a9e0adc8cff4f3c4999c3.gif"></p>    <h2>File Template</h2>    <p>大家在AS中创建一个类的时候,相信大家都见过在类名上有这么一句注释</p>    <pre>  <code class="language-java">/** * Created by 你的电脑用户名 on 当前的日期. */</code></pre>    <p>这个也是可以修改的,见图:<br> <img alt="file-template" src="https://simg.open-open.com/show/4a01ee06910da294e0de82e1e9861fcd.gif"></p>    <h2>我们一起来创建一些自己喜欢的File Template</h2>    <p>饿汉式单例类,模板代码如下<此模板AS自带>:</p>    <pre>  <code class="language-java">#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end  #parse("File Header.java")  public class ${NAME}{      private static ${NAME} ourInstance = new ${NAME}();        public static ${NAME} getInstance() {          return ourInstance;      }        private ${NAME}() {      }  }</code></pre>    <p><img alt="singleton" src="https://simg.open-open.com/show/f5ac145a9b36e6bc6a45aac24e5bad58.gif"></p>    <p>是不是在为AS创建Activity的时候不会自动继承Activity而烦恼了?</p>    <p>自定义Activity class File Template模板代码如下:</p>    <pre>  <code class="language-java">#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end  #parse("File Header.java")  public class ${NAME} extends AppCompatActivity {        @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);        }  }</code></pre>    <p><img alt="activity" src="https://simg.open-open.com/show/a3d591304c68bddf7ec270c4b15745e0.gif"></p>    <p>来自: <a href="/misc/goto?guid=4959671824335752667" rel="nofollow">http://blog.csdn.net/qjay_dev/article/details/51278713</a></p>