当前位置: 首页 > news >正文

平顶山有做网站的公司云南网站建设的价值

平顶山有做网站的公司,云南网站建设的价值,wordpress母公司,中国培训网的证书含金量Apt 介绍 APT(Annotation Processing Tool)是一种处理注释的工具,它对源代码文件进行检测找出其中的 Annotation#xff0c;根据注解自动生成代码。 Annotation 处理器在处理 Annotation 时可以根据源文件中的 Annotation 生成额外的源文件和其它的文件(文件具体内容由 Annot…Apt 介绍 APT(Annotation Processing Tool)是一种处理注释的工具,它对源代码文件进行检测找出其中的 Annotation根据注解自动生成代码。 Annotation 处理器在处理 Annotation 时可以根据源文件中的 Annotation 生成额外的源文件和其它的文件(文件具体内容由 Annotation 处理器的编写者决定),APT 还会编译生成的源文件和原来的源文件将它们一起生成 class 文件。我们 Android 常用的库如 Dagger2, ButterKnife, EventBus3 等都使用了 APT 的技术。 本篇通过一个简单的 Android 路由的项目来介绍 APT 相关内容和进行 APT 开发的大致流程。 使用 APT 开 发自动生成路由表的库 首先我们创建一个名字为 route-annotation 的 module定义 APT 需要处理的注解。 在创建一个名字为 route-compiler 的 module 实现一个注解处理器。 SupportedAnnotationTypes 表示我们需要处理哪些注解 SupportedSourceVersion 表示我们生成的代码是 Java 的哪个版本 类会封装成 TypeElement 方法会被封装成 ExecuteableElement 字段会被封装成 VariableElement element.getEnclosingElement();// 获取父元素 element.getEnclosedElements();// 获取子元素 在 module 对应的 build.gradle 里添加一下依赖 下面就来创建我们的处理器 RouteProcessor 我们需要创建一个名为 RouteProcessor 的类继承 AbstractProcessor并添加三个注解 AutoService、 SupportedAnnotationTypes、 SupportedSourceVersion 然后我们一般需要重写 AbstractProcessor 的两个方法 init(ProcessingEnvironment processingEnv) 和 process(Set? extends TypeElement set, RoundEnvironment roundEnvironment),通过 init 方法的 processingEnv 我们可以得到一些辅助类, 通过 process 的 roundEnvironment 我们可以得到被注解对象(Element)的集合,相关代码如下 这里介绍下 Element 的概念, 注解处理器会把我们注解的方法、字段、类等等封装成一个 Elment 的对象 然后我们可能通过这个对象获取被注解对象的信息(如方法的参数和返回值、字段的类型和名字等等)并且这些 Element 元素还相当于 XML 中的 DOM 树,通过相关方法可以访问它的父元素或者子元素。 如下面这段代码通过 Element 获取需要的信息 我们通过注解对象的信息用 javapoet 这个库来生成相关的代码 最后我在需要是用 route 的 module 使用我们上面写好的库 在 build.gradle 增加相关依赖 在需要的被路由的 Activity 声明 Route 的注解 Make Project 一下就能在 build/generated/source/apt/debug 下面看到生成的类了
http://www.yingshimen.cn/news/7702/

相关文章:

  • 做医院网站公司网站备案接入服务商
  • 眉山北京网站建设网站如何取消验证码
  • 兰州做网站哪个平台好个人网站作品
  • 要建网站51cg最新ip地址是多少
  • 哪个网站有免费空间WordPress如何为用户缓存
  • 深圳网站设计模板搜索网站的浏览器
  • 广州网站制作工作室做网站程序员
  • 做自己照片视频网站网站建设期末考试
  • 网站后台搜索深圳专业的免费建站
  • 嘉兴快速建站合作链接交易网
  • 主播网站建设如何诊断网站seo
  • 网站优化排名提升高校财务网站建设
  • 域名解析网站什么意思关键词和网站的关系
  • 平台网站建设设计有项目去哪里找投资人
  • 绍兴网站开发网站建设合同违约金一般多少
  • wordpress改网站名字wordpress 迁移升级
  • 博客网站首页设计深圳网站建设营销策划
  • 陕西天工建设有限公司网站删除网站栏目
  • 从零开始建网站流量神器
  • 网站建设维诺之星嘉兴网站搜索排名
  • 东莞网站建设咨询公汕头建设银行各支行电话
  • 赣州做网站的公司wordpress调用侧边栏
  • 撤销个人网站备案中材矿山建设有限公司网站
  • 网站个人信息页面布局百度云网盘资源搜索引擎入口
  • 博物馆网站开发传统网站网站
  • 鹤峰网站制作the_post wordpress
  • 网站建设课程的建议网站地址格式
  • 云电脑注册网站首页南充做网站的公司
  • 哪些网站可以做网店公司如何办网站
  • 做外贸一般在哪个网站广告平台