您的位置:首页 > 移动开发 > Android开发

Android开发truck快速开发框架 常用工具集合(九)

2018-01-24 13:53 323 查看

简介

Android开发时间长了,所用到的工具类肯定也是越来越多,越来越杂。但是在所以在这里整理一下,说一下我平时都用到的工具集合,我主要给他们分为两类:一类是简单的静态类,固定逻辑,粘贴即用型,如:时间处理、权限处理、缓存、文件、媒体、加密等等。二类是需要自己深入研究,不断精简代码、优化速度,不断采坑,不断总结(当然也可以用别人写好的现成解决方案),如:GlideHelper、SQLHelper等。对于GlideHelper我坚持自己写,一、代码量不多,二、现成成熟的方案没有找到。对于SQLHelper我坚持自己写,主要处于两方面原因:一、了解熟悉SQL基本操作,这个无论在什么平台开发都是通用的,值得每一个程序员深入研究。二、我用过一些三方知名的工具,如Afinal。但是又时候遇到问题时真的是没有没有办法快速解决。我从来就不相信不要重复造轮子那样的话,这样的话是都是说给那些已经能轻而易举造出轮子的人听的。

示例

对于上面讲的第一类的工具集合我这里就不做演示了,第一是因为太过简单,第二是内容太多。先谈谈GlideHelper的基本用法吧。GlideHelper可以异步加载图片,加载本地图片,基本使用如下:

GlideHelper.load(defaultData.get(position).getResID(), holder.ivApproveLogo);
加载网络图片,用法类似。加载圆形图片,用法如下:

GlideHelper.loadCircle(mData.get(position).getAvatar(), ivAvatar);
加载圆角矩形图片,用法如下:

GlideHelper.loadRound(mData.get(position).getAvatar(), ivAvatar);
以上为基本用法。高级用法可以设置Glide加载成功、失败站位符等、设置Glide加载动画、设置Glide加载进度监听等。

更多Glide高级功能参考truck项目中的Glide模块。

SQLHelper由于目前功能比较简单,只有创建、插入、查询。具体事例如下:

switch (view.getId()) {
case R.id.tv_create_db:
manager = new SQLManager(mContext, "yuedao", null, 1);
break;
case R.id.tv_create_table:
Map<String, String> map = new HashMap();
map.put("id", "integer");
map.put("name", "varchar(20)");
map.put("phone", "varchar(20)");
map.put("address", "varchar(20)");
map.put("age", "integer");
manager.createTable("user1", map);
break;
case R.id.tv_write_data:
DBBean bean = new DBBean(1, "袁冶", "1565654651", "重庆", 25);
manager.insert("us1", bean);
break;
case R.id.tv_query_data:
ArrayList<DBBean> list = manager.queryTableAll("us1", DBBean.class);
ToastUtil.showShort(mContext, list.toString());
break;
}


下面要介绍一个truck中实现模块化开发的核心工具类:RouterHelper。顾名思义,RouterHelper就是实现路由的核心部分,它只是对alibaba的ARouter做了一个简单的封装,他的作用在于能够实现moudle之间的通讯、moudle之间Activity的相互调用,有了它,才能实现真正的moudle于moudle之间的解耦,实现模块开发。
具体用法如下:
RouterHelper.from(mContext).to(UserRouter.loginUser);
这里的UserRouter.loginUser为目标Activity的名称,设置如下:
@Route(path = "/user/view/login/ui/LoginActivity")
public class LoginActivity extends FragmentActivity implements ISwipeBack {
}
path部分为目标Activity的名称,类型为String。使用RouterHelper,需要在对应的Gradle中做一下设置:
dependencies {
annotationProcessor 'com.alibaba:arouter-compiler:1.1.4'
compile project(':base')
在defaultConfig中配置
//ARouter需要添加,如需使用,必须在对应module中添加以下代码
enforceUniquePackageName = false
javaCompileOptions {
annotationProcessorOptions {
arguments = [moduleName: project.getName()]
}
}
在Application中需要做ARouter的初始化操作。

快速开发

工具集合的目的是为了提高开发中的效率,为了更好、更快的开发。因为对truck里面的base模块有一定的熟悉。良好的分类、能达到事半功倍的效果。这里的工具集合,我还会一直不停的完善。
最后附上truck快速开发交流qq群:698442320
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: