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框架[一]的更多相关文章

  1. Android Afinal框架

    项目如图: 本文参考网络! Afinal是一个开源的android的orm和ioc应用开发框架,其特点是小巧灵活,代码入侵量少.在android应用开发中,通过 Afinal的ioc框架,诸如ui绑定 ...

  2. 开源项目之Android Afinal框架

    项目如图: 本文参考网络! Afinal是一个开源的android的orm和ioc应用开发框架,其特点是小巧灵活,代码入侵量少.在android应用开发中,通过Afinal的ioc框架,诸如ui绑定, ...

  3. Android批量图片加载经典系列——afinal框架实现图片的异步缓存加载

    一.问题描述 在之前的系列文章中,我们使用了Volley和Xutil框架实现图片的缓存加载(查看系列文章:http://www.cnblogs.com/jerehedu/p/4607599.html# ...

  4. 带你走进Android Afinal框架的世界

    1.什么是Afinal框架? Afinal是一个开源的android的orm和ioc应用开发框架,其特点是小巧灵活,代码入侵量少.在android应用开发中,通过Afinal的ioc框架,诸如ui绑定 ...

  5. afinal框架下 ViewInject的使用

    1.可以在BaseActivity界面onCreate 方法setContentView后加上该语句. initInjectedView(this); 2.@ViewInject(id=R.id.v_ ...

  6. Android批量图片载入经典系列——afinal框架实现图片的异步缓存载入

    一.问题描写叙述 在之前的系列文章中,我们使用了Volley和Xutil框架实现图片的缓存载入,接下来我们再介绍一下afinal 框架的使用. Afinal 是一个android的http框架.sql ...

  7. Android Afinal框架(二)

    框架地址:https://github.com/yangfuhai/afinal 对应的源码: net.tsz.afinal.annotation.view.* FinalActivity Final ...

  8. Android Afinal框架学习(二) FinalActivity 一个IOC框架

    框架地址:https://github.com/yangfuhai/afinal 相应的源代码: net.tsz.afinal.annotation.view.* FinalActivity Fina ...

  9. Android Afinal框架学习(一) FinalDb 数据库操作

    框架地址:https://github.com/yangfuhai/afinal 对应源码: net.tsz.afinal.annotation.sqlite.* net.tsz.afinal.db. ...

  10. 简述afinal 框架的基本用法

    本文只是对afinal做简单的描述,基本和git上给的文档一样,大神绕道! FinalDB模块本文为涉及到 FinalActivity模块,FinalHttp模块,FinalBitmap模块  代码体 ...

随机推荐

  1. iOS开发--地图与定位

    概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用 和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一 ...

  2. text-align 属性,输入框数字向右靠

    1.业务需求:金额输入框数字向右靠 2.HTML文件 <td id="otherPay_Td"> <input id="otherPay" t ...

  3. 如何实现jenkins的多平台任务同时执行

    如果需要我们的程序在多个平台(linux.mac.window)同时执行,该如何操作 1.首先需要构建一个“多配置项目” 2.配置项目在过个平台上运行

  4. NHibernate中几个集合的选择

    NHibernate是从Hibernate移植过来的基于NET平台的一个ORM框架,同时跟这框架一起的还有一个开源库,叫做Iesi.Collections,这个库扩展了NET平台下面的几个集合,所谓集 ...

  5. 最简单的方式用上https

    1.在这个网站申请ssl证书 https://www.sslforfree.com 2.下载的证书使用这个脚本处理一下 #!/bin/bash HOST_NAME=$1 cp certificate. ...

  6. 在表单里面检查用户名是否存javascript

    function CheckUser(fn) { $.get("/Pages/Handler/CheckExistHander.ashx", { "txt_UserNo& ...

  7. IPhone打包工具脚本

    (后面就是代码了,我就不翻译了.) #!/usr/bin/perl use File::Copy; my $installPath = $ARGV[]; #the name that displays ...

  8. vue vue-router 使用注意事项

    1.$router和$route区别 this.$router 访问路由器,实现路由的跳转等功能. this.$route 实现访问当前路由,$route.query (如果 URL 中有查询参数). ...

  9. [Mac A]为什么国外程序员爱用 Mac?

    from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜 ...

  10. 【DB2】文件导入导出常见命令总结 EXPORT IMPORT LOAD

    参考文献地址:https://blog.csdn.net/reaper1022/article/details/18601973 Db2 的数据迁移,最常用的就是导入导出功能,而导入导出的命令貌似简单 ...