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 在某一个ViewController跳转到TabViewController中的某一个ViewController

    要做到这个分为两步 第一步, 导入app #import "AppDelegate.h" 第二步, 监听方法中先写加入以下代码: [self dismissViewControll ...

  2. myEclipse的配置

  3. LeetCode 137 Single Number II(仅仅出现一次的数字 II)(*)

    翻译 给定一个整型数组,除了某个元素外其余的均出现了三次. 找出这个元素. 备注: 你的算法应该是线性时间复杂度. 你能够不用额外的空间来实现它吗? 原文 Given an array of inte ...

  4. Android技术——在Android中的随意视图中找控件

    1.在非常多情况下,我们可能不知道控件的id,可是我们却希望在包括这个控件的视图中找到它,能够採用例如以下做法: 例:在Activity的根视图中找出当中全部的Button控件 private voi ...

  5. Java中内存泄露及垃圾回收机制

    转自:http://blog.sina.com.cn/s/blog_538b279a0100098d.html 写的相当不错滴...................... 摘  要 Java语言中,内 ...

  6. actor中!(tell)与forward的差别

    ! 的源代码: def !(message: Any)(implicit sender: ActorRef = Actor.noSender): Unit tell 的源代码: final def t ...

  7. Js和html相结合的方式

    目录  TOC \o "1-3" \h \z \u js和html相结合的方式. PAGEREF _Toc455386178 \h 1 08D0C9EA79F9BACE118C82 ...

  8. Python Hashtable的理解

           一个对象当其生命周期内的hash值不发生改变,而且可以跟其他对象进行比较时,这个对象就是Hashtable的.两者Hashtable的对象只有具有相同的hash值时才能判断为相同的对象. ...

  9. Android ANR发生原因总结

    ANR(Application Not Responding) Android系统中应用无响应 是Android系统中比较常见的问题,当出现ANR时一般情况会弹出一个带有以下文字的对话框提示: Act ...

  10. ASP.NET MVC源码分析系列

    Controller下的JsonResult的ExecuteResult方法 public override void ExecuteResult(ControllerContext context) ...