ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent的http模块,具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能,在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类,如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具
以上文字是摘自https://github.com/white-cat/ThinkAndroid
我再上面链接下载libs,然后自己新建工程
首先第一步 注入就遇到问题了,
@TAInjectView(id = R.id.test_cache)
Button testCacheButton;
按照demo里面的格式写好后,运行发现没有加载布局
然后去demo里面找 也没找到layout相关字样
不知道试是怎样绑定UI的
查看源码发现
- private void initActivity()
- {
- // 初始化模块名
- getModuleName();
- // 初始化布局名
- getLayouName();
- // 加载类注入器
- initInjector();
- // 自动加载默认布局
- loadDefautLayout();
- }
有个initActivity方法,在这个方法里,自动完成了初始化注解元素,设置显示的布局等一系列动作。
首先通过命名规范自动获取布局的名字,然后initInjector初始化注解的属性,最后loadDefaultLayout来设置显示的布局,一切都自动化了,不需要自己写setContentView......
/**
* 获取模块的名字
*/
public String getModuleName()
{
String moduleName = this.moduleName;
if (moduleName == null || moduleName.equalsIgnoreCase(""))
{
moduleName = getClass().getName().substring(0,
getClass().getName().length() - 8);
String arrays[] = moduleName.split("\\.");
this.moduleName = moduleName = arrays[arrays.length - 1]
.toLowerCase();
}
return moduleName;
}
发现他自动加载的资源文件是不带activity的 比如android生成的activity叫做MainActivity则对应生成activity_main.xml 而他会去寻找main.xml 肯定会找不到 也就加载不上布局文件。。。。。