作家
登录

Android Studio中使用apt

作者: 来源: 2017-06-08 08:54:39 阅读 我要评论

一、媒介

你还在对着逝世板的反复代码一味复制粘贴吗?如许跟搬砖有何差别?你是否曾想过:你用代码编写出一个主动化的APP,但为何代码本身却缺乏了活力?控制Android-apt,杜绝反复代码,让你写代码如写诗般优雅。

二、何为apt?

apt意为:annotation processing tool(注解处理对象),这家伙可神奇了,它能经由过程注解,在编译期主动生成特定的Java文件,实现主动编写代码。

问:有什么竽暌姑?凭我本身本领能写出来的代码,为什么要主动化?

  1. @Test("abc"
  2. public class MainActivity extends AppCompatActivity { 
  3.  
  4.     @Override 
  5.     protected void onCreate(Bundle savedInstanceState) { 
  6.         super.onCreate(savedInstanceState); 
  7.         setContentView(R.layout.activity_main); 
  8.     } 
  9.  

大年夜哥,你这是又想发挥你的复制粘贴大年夜法了吗?稍安勿躁,细看完这篇文┞仿,你会爱上这家伙的。

鼎鼎大年夜名的ButterKnife、Dagger2这两个开源库,信赖你必定有听过,你应当知道我为什么提到它们了吧。没错!这两个开源库都是基于apt的。

三、说了这么多,要怎么竽暌姑啊?别急,我们先搭建情况(基于gradle插件2.2.0以上版本)

【编辑推荐】

  1. Android安然防护之旅---应用"反调试"操作的几种筹划解析
  2. Android中导致内存泄漏的竟然是它----Dialog
  3. Android截屏与WebView长图分享经验总结
  4. 17位谷歌Android开辟专家是若何对待Kotlin的?
  5. 经由过程微信Android和iOS版看两大年夜体系差别
【义务编辑:枯木 TEL:(010)68476606】

1.在android studio中新建一个Java module,用于存装注解处理逻辑,名字随便啦,反正我一般都取名:apt。很重要的事:在app module中添加注解处理依附:annotationProcessor project(‘:apt’)

(解释原因:因为android的module中不包含有apt相干类,是以须要新建一个java module来编写apt逻辑。什么?你不信?不信你写个类持续AbstractProcessor尝尝)

2.再次新建一个module(android、java都可以),用于存装注解,名字也随便,反正我这里取名为:anno,并且在app、apt的build.gradle文件下,添加依附compile project(‘:anno’)

(为什么要新建module去盛装注解类,而不放到app module或者apt module中去:最重要的原因就是app module与apt module不克不及直接互相依附,至于为什么不克不及直接依附,我就不细说了,总之一句话:不信你尝尝看就知道喽!)

3.在apt的build.gradle里,添加如下依附。到此,我们的情况设备工作就告一段落了。

(个中:1.auto-service是用于注解后主动在特定路径下生成设备文件;2.javapoet是用于合营apt便捷生成java文件的对象。信赖如许说来岁夜家还云里雾里,不要焦急,持续往下看)

四、情况搭建好了,接下来就是秀操作时光

1.起首,在anno module里新建一个注解类

  1. @Retention(RetentionPolicy.SOURCE) 
  2. @Target(ElementType.METHOD) 
  3. public @interface Test { 
  4.     String value(); 
  5.  

2.在apt module里新建一个注解处理类,持续于AbstractProcessor

  1. public class TestProcessor extends AbstractProcessor{ 
  2.     @Override 
  3.     public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { 
  4.         return false
  5.     } 
  6.  

3.既然说apt是要主动生成java文件,那我们就须要拟构出一个目标类。


  推荐阅读

  Java关键字volatile的理解与正确使用 | 干货分享

其实面对膳绫擎的反例场景可以应用JDK1.5 java.util.concurrent.atomic中供给的原子包装类型来包管原子性操作 概述1、不合适应用volatile的场景(非原子性操作)Java说话中关键字 volatile 被>>>详细阅读


本文标题:Android Studio中使用apt

地址:http://www.17bianji.com/lsqh/35628.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)