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

简介

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
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值