ThinkAndroid学习1--ioc模块

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的


查看源码发现

  1. private void initActivity()  
  2. {  
  3.     // 初始化模块名  
  4.     getModuleName();  
  5.     // 初始化布局名  
  6.     getLayouName();  
  7.     // 加载类注入器  
  8.     initInjector();  
  9.     // 自动加载默认布局  
  10.     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  肯定会找不到  也就加载不上布局文件。。。。。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值