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. python2解决中文问题(无论是注释还是代码含有中文)

    interpreter:翻译器; 方式一:在第一行写上#coding=utf-8 方式二:在第一行写上#-*- coding:utf-8 -*-

  2. [转]Mapping Stored Procedure Parameters in SSIS OLE DB Source Editor

    本文转自:http://geekswithblogs.net/stun/archive/2009/03/05/mapping-stored-procedure-parameters-in-ssis-o ...

  3. phpstorm不安装apache就可以本地测试PHP

    最近再搞个PHP的项目,找了很多发现phpstorm这个非常小巧而且很好用,,顺便推荐一下idea开发android非常不错,这2个IDE都是一家公司的.本文由智动软件(zdexe.com)原创,转载 ...

  4. enter 键登录的实现

    js 代码 document.onkeypress = function() { var iKeyCode = -1; if (arguments[0]) { iKeyCode = arguments ...

  5. [Android-Demo]Android View的拖动

    ↑ 请善用目录 Demo下载地址:http://download.csdn.net/detail/u011634756/5959637 (免积分哦~) ------------------------ ...

  6. leetcode 282. 给表达式添加运算符

    给定一个仅包含0-9的字符串和一个目标值,返回在数字之间添加了二元运算符(不是一元的) +.-或*之后所有能得到目标值的情况. 例如: "123", 6 -> [" ...

  7. 给ubuntu设置静态ip —— How to set static IP Address in Ubuntu Server 16.04

    原文: http://www.configserverfirewall.com/ubuntu-linux/ubuntu-set-static-ip-address/ ----------------- ...

  8. 2017.12.11SimpleDateFormat的线程安全性讨论

    转载来自:http://blog.csdn.net/zxh87/article/details/19414885 1.结论 DateFormat和SimpleDateFormat都不是线程安全的.在多 ...

  9. php 获取ip地址方法

    function getIP() { $ip=""; if(!empty($_SERVER['HTTP_CLIENT_IP'])){ $myip = $_SERVER['HTTP_ ...

  10. javascript Array(数组)

      迁移时间:2017年5月25日08:05:33 UpdateTime--2017年3月31日16:29:08 一.数组(Array) (一)用法 //js声明数组的两大类方式 // 第一类(通常使 ...