首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
珠穆朗玛小王子
掘友等级
Android
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1
文章 1
沸点 0
赞
1
返回
|
搜索文章
最新
热门
深入理解编译注解(六)Butterknife的实现原理
我们已经把基本知识都搞定了,也能够实现简单的功能。作为这个系列的最后一篇,我们来看看Butterknife的实现原理。 运行Demo也在下载的包中,大家自己运行看下效果就可以了。首先我们来看看整个工程的结构: 下载的源码中的工程还是不少的,但是图中被选中的蓝色工程才是我们分析的…
深入理解编译注解(五)RetentionPolicy.SOURCE 和 RetentionPolicy.CLASS区别讨论
这篇我觉得应该是一个讨论篇,因为我自己还没有找到一个非常满意的答案,希望大家一起来讨论。 RUNTIME肯定没有意见,因为只有他能够在运行时得到注解,例如之前的数据库框架。那么SOURCE和CLASS呢? 他俩概念上的区别是 CLASS被编译到.class文件中,SOURCE没…
深入理解编译注解(四)常用接口介绍
在之前的demo中,为了完成编译注解的功能,我们引入了com.google.auto.service:auto-service:1.0-rc2,这篇博客就是重点介绍了里面的api。 原文博客链接:http://blog.csdn.net/github_35180164/arti…
深入理解编译注解(三)依赖关系 apt/annotationProcessor与Provided的区别
网上有很多朋友在问: apt/annotationProcessor与Provided 都是只编译并不打入apk中,他俩到底有什么区别呢?所以我就把自己所了解的与大家分享一下。 例如demo中,app与io-compiler是编译关系,app在运行时需要io-compiler编…
深入理解编译注解(二)annotationProcessor与android-apt
之前我们已经实际感受了编译注解的使用,虽然操作起来稍微复杂一些,但是提高了程序运行的效率,用户体验会更好,作为开发者来说,这点牺牲还是值得的。 在demo中使用了annotationProcessor来表明程序之间是编译关系,这一篇来仔细的了解一下annotationProce…
深入理解编译注解(一)从实战理解什么是编译注解
之前我们已经理解了什么是运行时注解,并且实现了一个含金量较高的数据库框架,同时我们也发现,使用反射会使运行的效率的变低,很多流行的注解框架已经考虑用编译注解来解决这个问题,今天我们用编译注解的形式来实现setContentView和findViewById。 我们的最终目的就是…
实现基于注解(Annotation)的数据库框架(六)亲自验证反射的效率及解决办法
之前我们已经学习了注解在运行时的使用,结合反射来实现了一个基本的数据库框架,网上有很多人都说反射是一个效率低下的操作行为,是不提倡的,所以这次来亲自验证一下。 从以上两组数据对比,如果只是一次几乎没有什么太大的差别,回顾一下之前的上一篇的数据库框架,每次操作数据库只进行了一次反…
实现基于注解(Annotation)的数据库框架(五)最终的实战
经过对基础知识的学习和积累,终于到了最后的实战,自定义数据库框架。框架的使用方法是参考一些流行的数据库框架,例如Litepal。 里面包含了数据库的名称,版本号,和要建表的类的路径。 在SQLFrame框架中完成xml的解析,并完成数据库的创建。 通过反射获取@Table,得到…
实现基于注解(Annotation)的数据库框架(四)注解(Annotation)和反射的结合使用
反射和注解的基本知识我们都已经了解了,这一篇来具体看看他俩如何结合使用,离我们的最终目标越来越近了。 现在来写一个通过注解来实现setContentView()的功能的Demo。 ContentView注解用来注解某一个类(TYPE),在运行时可以通过反射获取到具体的信息。va…
实现基于注解(Annotation)的数据库框架(三)自定义注解(Annotation)
之前已经简单介绍了系统的内置注解,我们已经对注解有了一个初步的印象,接下来就来看看如何自定义注解。 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注…
下一页
个人成就
文章被点赞
8
文章被阅读
26,487
掘力值
381
关注了
5
关注者
2
收藏集
0
关注标签
2
加入于
2017-02-15