安卓框架之xutil篇

一、 前言

其实,本人一直不喜欢这种集成太多功能的大而全的框架。
使用xutil是之前的例子的view注入使用的是xutil,view注入我之前一直使用的是butterknife。尽管现在已经使用xutil来注解,但是我依然认为butterknife比较好,他没有那么xutil使用要求;而且有插件butterknife的支持,加上快捷键,可以自动生成注解。
安卓框架之xutil篇_第1张图片
xutil包括四个模块,除了viewUtils我能够用得着外,其他的基本都不用。所以一直不喜欢用xutil。

一般图片相关用Fresco、网络请求用Okhttp、数据库相关用得不多。

二、基本介绍

github地址
有基本的介绍说明,可以将代码来下来运行,看看具体的用法。

三、使用基础

  1. 相比于butterknife有一个方便的地方,他可以在类名上面注解。
    这里写图片描述
    这个特性导致了我们所有activity或者说Fragment中的OnCreate中的代码可以写成一样的。这样就可以抽出来放到相应的Base类中
  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     x.view().inject(this);
    }

但是对于butterknife使用确实这样的,无法抽象到base类中。

  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(Xx);//这个地方是差异化的
        ButterKnife.bind(this);
     x.view().inject(this);
    }

这也是我弃用butterknife使用xutil的原因之一,另外一个原因是我们需要使用大量sqlite数据库了。
2. 我们的项目是商品导向的,需要缓存很多商品数据。因此我们选用了sqllite来做缓存,另外还用它来做了用户搜索的缓存,用户的历史搜索管理就使用了sqllite。
xutil的封装比我们这些菜鸟自己封装的可定是更加稳定、高效。
具体的使用方式网上有很多资料。
比如xutil之dbutils的使用

他的查询方式和实体类注解的细节与后台常用的hibernate、myibatis有些不同,不过没有本质区别,多看看api。

  1. 至于图片管理和网络请求我还是觉得Fresco和okhttp是同类产品中的佼佼者,强烈推荐。

四、注意事项

xutil版本之间的用法有些许差异,在按照别人的做法做时别人能行,你不行,先看看版本,看看版本之间的差异。比如2和3之间的监听注解关键字就改动了。
1. 在注解监听事件的时候,方法范围必须用private; 方法参数必须原生的监听函数参数完全相同,否则会有inVoke异常;方法名一般用Click结尾,方便混淆。
2. 在引入了xutil之后,可能会在程序中依然无法引入,这种情况可以先运行,不行就clean。

五、参考资料

  1. 链式查询表达
  2. 使用基础详解
  3. xutil3框架使用基本方法

你可能感兴趣的:(Android)