原帖地址:http://www.eoeandroid.com/thread-324764-1-1.html
最新代码在
https://github.com/gdpancheng/ioc_android8月6日更新:
1 修复了伙伴们发现下拉刷新中的问题 2 增加了一个倒计时,得在application中启动
7月1日更新:
增加了说明文档 请参考Github工程根目录下的说明文档
6月13日更新:
增加了一个商业项目,这个项目由于有些原因最后没有完成,我拿来改成了框架版。
其中性能大家自己可以测试
还有一个注解使用视频 有点弱 视频下载地址 这个不侵权


如果没金币可以去github下载 在工程目录下
一:修复了注解过程中由于后台遍历导致的BUG
二:图片下载调整
三:增加了一个Demo 为一个实例项目,我拿来改了下,里面没有任何网络数据的绑定,但是基本上很多东西都用到了
5月27日更新:
一 下拉刷新 增加了emptyView的demo
二 图片下载 修复了一个小BUG(加载加密图片情况下缩放失败的BUG 加载加密情况下的图片 尽量不要使用大图 因为是对字节数组进行处理)
三 表单上传 最新更新 之前不支持大文件上传 不支持上传进度条 现在支持最大2G文件上传 支持文件上传进度条
四 去掉了applieationBean的依赖
五 正式更名为LoonAndroid
目前混淆的文档还没整理完毕 整理完成以后更新上去
5月22日更新:
引用了外部资源 但是因为包名不一样 图片下载的时候 会出错了
修复了一个低级错误 项目移植的时候才发现
5月21日更新:
一: 去掉了对于InjectAll 静态类 的支持 因为这个导致出现了BUG
二: 修改了图片下载框架(这个真心不太擅长 我写的有问题 滑动非常快的时候,线程池里面的线程会多次触发,我把它干掉了)
三: 完善了注解使用场景 支持 非activity 和 非fragment的支持
四: 改变了一个fragment中注解的调用接口
五: 修改了文件断点下载 返回值中增加了文件长度和已经下载的长度
六: 修复了长按出错的BUG
七: 日志打印不需要手动设置 自动获取BuildConfig中的值
八: 其他相关的修改

4月18日更新:
1 下拉刷新
listview的宽度不能等比 必须在外面包裹一层View
2 View注解
增加了InjectAll 可以更好偷懒了 参考Demo
3 修复了一系列问题
请在GitHub下载源码 如有问题 请发邮件到 gdpancheng@126.com /gdpancheng@gmail.com 有问必答 或者 QQ 55607999

更新:
1 修复了多线程断点下载存在的bug
2 增加了版本更新
3 删除了部分工具类,用的比较少的
4 框架内的图片下载框架之前是在ApplicationBean 启动的时候进行初始化的,因为有的项目用不着,所以现在把它改到
mvc.properties去配置了 只有配置了imageload_open=true 才会进行初始化,避免内存占用

因为我比较喜欢偷懒,对于一个码农来说,能够偷懒,并且在不影响项目质量的情况下,是不容易的。
这个叫不上框架,只能说是一个工具类。
框架大小在400KB 包括源码在600KB 里面分为两个架包一个是有源码的 这样就直接可以查看注释
其中 只有一部分是我自己写的,剩下的一部分是拿的别人的代码修改的。
通过注解自动注入 因为反射 会让程序变慢100~200毫秒左右,基本感觉不出来.硬件性能好的手机 基本上没影响
其中
框架支持配置文件配置assets/mvc.properties
整个框架分为以下几个方面
一:自动注入框架
1 支持layout
2 支持view
3 支持view的各种事件注入
4 支持方法注入
5 支持子父布局的注入
6 支持子父事件的覆盖
7 支持资源文件的注入
8 支持网络请求的注入
9 输入框验证的注入
二:图片加载框架
当注入view的时候 如果是listview 并且设置了isasy=true
那么自动注入图片滑动停止才开始加载图片的逻辑(框架给你注入了OnScrollListener)
如果你要自己实现OnScrollListener那么请继承OnScrollLoaderListener然后
GlobalConfig.getInstance().setOnScrollLoaderListener 把你的滚动监听给传进去
1 支持自动释放
2 支持加载本地图片
3 自动缓存
三:网络请求模块
1 非注入请使用
FastHttp
----------------------同步----------------------
需要自己开启新的线程 和构造handler
网络请求类 封装:
1 支持同步get请求
2 支持同步post请求
3 支持同步webserver请求
4 支持同步form请求
----------------------异步----------------------
无需开新的线程 无需handler
5 支持异步get请求
6 支持异步post请求
7 支持异步webserver请求
8 支持异步form请求
----------------------轮询----------------------
9 支持get定时轮训
10 支持post定时轮训
11 支持webserver定时轮询
12 支持自定义配置文件InternetConfig 可以配置编码格式 以及轮询时间(默认为30秒)
(注意:返回的数据ResponseEntity,根据getStatus来获取状态
如果为FastHttp.result_ok则返回正常
如果为FastHttp.result_net_err则为网络错误
返回的数据格式为字符串 自己解析成需要格式)
2 注入请使用
FastHttpHander
----------------------注入----------------------
请求配置
InternetConfig config = new InternetConfig();
config.setKey(1);
这里分如下几种情况
优先寻找@InjectHttpOk和@InjectHttpErr
1 没有设置key 那么回自动去寻找@InjectHttp没有设置key的方法
2 如果设置key 自动寻找和它相等key的@InjectHttp
3 如果设置key 如果找不到和它相等key的@InjectHttp 则自动寻找没有设置key的方法
四:集成了eventbus
进一步降低代码的耦合性
五:输入框验证
只需要输入规则
六:Json转化为bean和集合
七:集成了一个开源的数据库支持orm
八:支持多线程下载,自动判断是否支持多线程
九:集成了数据库框架
所有以Handler 开头的都是工具类

框架教程:
android开发框架的使用说明一
android开发框架的使用说明 二
android开发框架的使用说明 三
分享才能进步
源码代码请看最上面的链接