RTFSC-afinal框架[一]
RTFSC-afinal框架
finalActivity模块 :
android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
什么是IoC?
IoC是Inversion of Control的缩写,多数书籍翻译成“控制反转”
什么是 依赖注入(DI)?
依赖注入Dependency Injection(DI)和控制反转(IoC)是从不同的角度的描述的同一件事情,都是指通过引入第三方,即IoC容器,
实现软件系统中对象之间的解耦。所谓依赖注入,就是由IoC容器在运行期间,动态地将某种依赖关系注入到 对象之中
总结:
Class A依赖于Class B,当Class A需要用到Class B的时候,IoC容器就会立刻创建一个Class B送给Class A使用。IoC容器就是一个
类制造工厂,你需要什么,直接来拿,直接用就可以了,而不需要去关心你所用的东西是如何制成的,也不用关心最后是怎么被销毁 的,
这一切全由IoC容器包办。
java注释@interface的用法
java中用@interface 定义一个注解, 一个注解是一个类,注解相当于是一种标记,在程序中加上了注解等于为程序加上了某种标记,
以后,javac编译器,开发工具和其他程序可以用反射来了解你的类以及各种元素上有无任何标记,看你有什么标记,去干对应的事。
元注解@Retention 是用来修饰注解的注解,叫做元注解,Retention注解有一个属性 RetentionPolicy类型 这个属性标示该注解该如
何保持,该属性有3个枚举值:class , runtime ,source。
用@Retention(RetentionPolicy.class)修饰的注解,表示在编译时注解的信息被保留在class文件中,
用@Retention(@RetentionPolicy.SOURCE)修饰的注解,表示注解的信息只会保留在玩文件重,
用@Retention(@RetentionPolicy.RUNTIME)修饰的注解,表示注解的信息会保留在.clas文件中,并且会被虚拟机保留在运行时,即可
以通过反射的方式读取@RetentionPolicy.RUNTIME 这个可以在运行时 让被修饰的注解 从jvm中被读取。
Java中常用的注解:
@Override 表示子类要重写父类对应方法,如果使用此注释类型进行注解但是并没有重写父类方法,则编译器会报错。
@Deprecated 废弃方法不建议被使用
@SuppressWarnings @SuppressWarnings({ "rawtypes", "unused" }) 抑制警告
元注解@Target
取值包括:
ElemenetType.CONSTRUCTOR 构造器声明
ElemenetType.FIELD 域声明(包括 enum 实例)
ElemenetType.LOCAL_VARIABLE 局部变量声明
ElemenetType.METHOD 方法声明
ElemenetType.PACKAGE 包声明
ElemenetType.PARAMETER 参数声明
ElemenetType.TYPE 类,接口(包括注解类型)或enum声明
ElementType.ANNOTATION_TYPE 注解
元注解@Retention
元注解@Documented 次注解会被包含在javadoc中
元注解@Inherited 允许子类继承父类中的注解
解析注解
Method[] methods = TestMain.class.getDeclaredMethods();
Field[] fields = getDeclaredFields();
AnnotationObj annotationObj= field.getAnnotation(TestAnnotation.class)
RTFSC-afinal框架[一]的更多相关文章
- Android Afinal框架
项目如图: 本文参考网络! Afinal是一个开源的android的orm和ioc应用开发框架,其特点是小巧灵活,代码入侵量少.在android应用开发中,通过 Afinal的ioc框架,诸如ui绑定 ...
- 开源项目之Android Afinal框架
项目如图: 本文参考网络! Afinal是一个开源的android的orm和ioc应用开发框架,其特点是小巧灵活,代码入侵量少.在android应用开发中,通过Afinal的ioc框架,诸如ui绑定, ...
- Android批量图片加载经典系列——afinal框架实现图片的异步缓存加载
一.问题描述 在之前的系列文章中,我们使用了Volley和Xutil框架实现图片的缓存加载(查看系列文章:http://www.cnblogs.com/jerehedu/p/4607599.html# ...
- 带你走进Android Afinal框架的世界
1.什么是Afinal框架? Afinal是一个开源的android的orm和ioc应用开发框架,其特点是小巧灵活,代码入侵量少.在android应用开发中,通过Afinal的ioc框架,诸如ui绑定 ...
- afinal框架下 ViewInject的使用
1.可以在BaseActivity界面onCreate 方法setContentView后加上该语句. initInjectedView(this); 2.@ViewInject(id=R.id.v_ ...
- Android批量图片载入经典系列——afinal框架实现图片的异步缓存载入
一.问题描写叙述 在之前的系列文章中,我们使用了Volley和Xutil框架实现图片的缓存载入,接下来我们再介绍一下afinal 框架的使用. Afinal 是一个android的http框架.sql ...
- Android Afinal框架(二)
框架地址:https://github.com/yangfuhai/afinal 对应的源码: net.tsz.afinal.annotation.view.* FinalActivity Final ...
- Android Afinal框架学习(二) FinalActivity 一个IOC框架
框架地址:https://github.com/yangfuhai/afinal 相应的源代码: net.tsz.afinal.annotation.view.* FinalActivity Fina ...
- Android Afinal框架学习(一) FinalDb 数据库操作
框架地址:https://github.com/yangfuhai/afinal 对应源码: net.tsz.afinal.annotation.sqlite.* net.tsz.afinal.db. ...
- 简述afinal 框架的基本用法
本文只是对afinal做简单的描述,基本和git上给的文档一样,大神绕道! FinalDB模块本文为涉及到 FinalActivity模块,FinalHttp模块,FinalBitmap模块 代码体 ...
随机推荐
- EASYUI DATAGRID加合计
想达到的效果(计算当前展示的20条的合计数量(一言难尽)): 参考http://www.jb51.net/article/85645.htm(万分感谢该文的作者) 相关代码: function onL ...
- Android开发高级进阶——多进程间通信
一. 什么是多进程? 多进程就是多个进程的意思,那么什么是进程呢? 当一个应用在开始运行时,系统会为它创建一个进程,一个应用默认只有一个进程,这个进程(主进程)的名称就是应用的包名. 进程的特点: 进 ...
- python的globals()使用
使用命令pyrasite-shell pid,可以与进程进行shell交互,获取,在shell里执行globals(),可以获取整个进程的全部全局变量,比如django应用.flask应用的变量,而不 ...
- logback中打印sql语句
To log SQL statements for particular mybatis mapper set DEBUG (TRACE to see query parameters and res ...
- django 模板实现换行
django中的模板并不能实现自动换行,遇到/n的话不会自动换行,毕竟/n是python里面的换行符,html怎么可能认识呢? 那如何实现在模板中换行呢 <p> {{ article.co ...
- MongoDB之Map-Reduce -- Mongo Shell版和C#版(上)
最近有在学习MongoDB,看到了关于Map-Reduce,觉得蛮有意思的,所以在这里就记录下来作为学习笔记. 关于Map-Reduce的作用这里就引用一下官网以及另外一篇文章看到的,言简意赅. 1. ...
- 关于jquery的on,你怎么绑定就怎么解除
打开jquery3.0一看,竟然把一大半的时间绑定的东西都废弃了 基本上绑定时间可以统一成了on,不管你是不是动态进来的dom节点 live我们知道1.7的时候就已经废弃了,还在觉得live很好用的同 ...
- 软件测试中LoadRunner函数中的几个陷阱
软件测试 中 LoadRunner 函数中的几个陷阱 1.atof 在 loadrunner 中如果直接用 float f; f=atof("123.00"); lr _outpu ...
- SQLSERVER常用计数器
复制下面全部--开始--运行--profmon.exe--性能监视器--粘贴计数器列表 <OBJECT ID="DISystemMonitor1" WIDTH="1 ...
- java基础-java语言中的keyword总结
keyword 1.定义:被java语言赋于了特殊含义的单词 2.用于定义基本数据类型的keyword: class interface float int long double byte ...