Android 快速开发框架--2016集成优化。

 先看一下集成演示,由于网站GIF限制大小,所有演示Demo的内容没有太多,用到了基本功能,还有很多功能就不一一赘述了。

gif

由于曾经Demo存至360云盘,由于后期云盘关闭等原因,导致链接失效,现在更新下载地址:

Demo下载

导入Modle
首先开发Jar包我放在了Modle里面了,为了方便引用,所以,一个新的项目,要做的步骤为:
第一步、导入Modle。
这里写图片描述

第二步、找到Modle里面的Init初始化类,根据你项目的需要,开启你要的功能。

初始化

第三步、在自己的项目中需要Application中调用刚才的Init方法即可,具体代码如下:
        Init.getInstance().init(this);
        //注意,因为这个框架已经已成EventBus和xUtils,所以需要初始化。
        //如果你的项目也有这些jar包可以删除只留这一个
        x.Ext.init(this);
以上配置过后,已经可以使用Jar包的全部功能了,下面看看功能演示吧:

申请权限

调用申请权限的方法,你只需传递你需要申请的权限即可,可选参数,是否循环申请权限,和权限申请成功与失败的回掉,如果,无需可传null

公共父类

2016-10-28 备注:

由于最近框架还在做一部分优化,再加公司项目改版,比较忙,还没来得及整理,所以暂时还没有提供下载,但是有些朋友需要用到的,留下邮箱,我会发至你的邮箱。

以下说下一些框架可以直接调用的方法使用说明:
最近一直在忙项目,今天先说几个常用的提示工具类使用方法
//Dialog工具类,静态方法,随时随地都可以调用。
//下面传null的是Dialog的按钮点击回调,当传null的时候,Dialog会自动把你点击的按钮通过Toast弹出,如有需要自己处理监听操作,可以直接new 出监听方法即可。当不想显示图标时,可以直接传0,即是不显示图标。
DialogUtils.dialoghttpinit(context);
//自定义界面的Dialog,对界面有特殊要求的,可以根据自己习惯修改界面,Modle目录/src/main/res/layout/init_dialog.xml
DialogUtils.dialoginit(context, "标题。。。", "自定义的提示", null);
//这是ProgressDialog,用来进行等待时候弹出进度,如需只需要让用户等待提示,可以这样改:DialogUtils.show(context, "", "加载中...loading...", true, true);
DialogUtils.show(context, "这是标题", "这是内容", true, true);
//以下都是封装的系统各种Dialog,方法差不多,null是回调。
DialogUtils.showDefaultDialog(context, "这是标题", "这是内容", null);
SystemDialogUtils.showOrdinary(context, R.drawable.zwsjj, "这是标题", "这是内容", new String[]{"按钮1", "按钮2"}, null);
SystemDialogUtils.List(context, "这是标题", new String[]{"按钮1", "按钮2"}, null);
SystemDialogUtils.Radio(context, "这是标题", new String[]{"按钮1", "按钮2"}, null);
SystemDialogUtils.Multiselect(context, "这是标题", new String[]{"按钮1", "按钮2"}, null, null);
//PickerDialog使用说明:
//使用滚动样式的时间日期选择器:message是TextView控件,确认时间后将会显示在message控件上。
TimePickerUtils.getDatePicker(context, message);
TimePickerUtils.getTimePicker(context, message);
//使用点选样式的时间日期选择器:
TimePickerUtils.getDatePickers(context, message);
TimePickerUtils.getTimePickers(context, message);
//ToastUtils使用说明:
//多个Toagt弹出的时候,最新的会替换原来未显示完毕的数据,解决了多个Toast排队显示的问题。
ToastUtils.showCToast("这是自定义Toast");
//这个Toast显示出来不会关闭,直到调用了  ToastUtils.CloseToast();
ToastUtils.showLoadToast(R.drawable.zwsjj, "这是自定义Toast", Color.WHITE);
//带图片的Toast(屏幕居中显示)
ToastUtils.showImageToast(R.drawable.zwsjj, "这是自定义Toast", Color.WHITE);

框架说明:

框架内包含很多公共父类,只需继承即可快速开发,继承BaseActivity,实现了EventBus和xUtils注解注册,子类无需再初始化,父类已经集成状态栏,子类只需要继承即可省去每个Activity都要复写状态栏的麻烦,使得整个APP统一的状态栏,方便快捷,并且重写了返回键监听,子类都无需做返回关闭页面的操作。
BaseFragment与BaseActivity基本一致,它们还拥有换肤功能,可以在子类规定单个Activity的状态栏颜色,也可以统一更新所有Activity状态栏颜色,达到换肤功能,当然这只是伪沉侵,当然初始化的时候还可以开启全透明状态栏,使得兼容大多数手机和系统,透明二和透明一基本一致,透明二单独支持一个独特状态栏,兼容单色状态栏并且支持各种图片背景,可以做到和QQ一样的换肤功能。
CListAdapter是ListView的自定义适配器,除了支持无数据时自动给提示背景,还内部实现了ViewHolder,继承它,你只需要实现getView方法,在里面填充数据即可,无需写ViewHolder。
CPagerAdapter是ViewPager的适配器,当初网上有很多第三方适配器,但是后来出过Bug,达不到自己需求,索性自己写了个父类,为了项目实用,很多功能都可以根据需求开启或者关闭,目前,只需传ViewPager和一个你要显示的View集合即可,可以选择显示下面的小原点,父类完成,根据你视图动态生成,可选是否循环播放,左右无限滑动等。
还集成了很多常用父类,这里就不赘述了,然后还对很多工具类进行了封装优化。
版本更新用的下载类,检测到新版本,可以传递URI和下载保存文件名即可自动更新,当然这些都是灵活可变的,可以选择下载完成是否自动安装,下载是否显示通知栏进度提醒,点击通知跳转页面设定等功能。

下载类

集成了XListView并进行了部分优化,无需传递更新时间,更新回掉执行后会自动记录上次更新时间,并且更改传统时间,使用目前主流的距离上次差时间,可以通过代码设置拉出刷新头,首次强制刷新一次等。

日历

集成所有系统提示,可以随意调出任意系统组件,并且实现了回掉接口,可以根据情况监听回调,或者传null

滚动日历

同样可选不同Android版本的固定显示样式,当然还支持时间限制等功能,可以在项目需要时间检测时间限制的场景发挥妙用。

滚动日历

为了兼容大部分项目,所以封装的类上百,但实际使用中只会选择性的用到一部分而已,但是几个重要功能需要初始化而已,不会浪费太多资源,并且,Jar写了AppManager管理类,对关闭的页面进行回收。

下面列举一些集成的其他陌生类:
ChaoReceiver  通过动态注册的广播类,无需在清单文件注册,用来监听网络变动状态,是否有WIFI,关闭指定的Activity页面,监听手机锁屏等信息。
GuardServiceMain和GuardServiceVice是为了防止用户误关闭APP,所以写了双服务守护,重要功能可以放到服务里面,当然对小米系统不顶用,即使使用C写F进程也会被杀,所以无解。
CLogUtils  系统LOG打印类,主要可以用来调试程序,并且打印出当前输出位置,创建超链接让程序员可以通过LOG快速定位到出错到位置。
CCallback  网络请求回调类 从网路取出的数据会根据返回类型,自动转成JsonObject或者JsonArray类型,并且指定返回CODE我们只需判断CODE即可知道是否发生异常等情况。
CCallbacks 与CCallback一样都支持泛型,但是CCallbacks可以根据传入的泛型自动将服务器的JSON装入实体类。
HttpUtils 封装get post put delete 请求方法,并且可以根据需求强制开启网络缓存,如果对比服务器数据与缓存不一致,会自动服务器数据为准。
CLoadImage 封装了图片加载库。
Cpublic 里面可以取到一些移动需要的参数,屏幕信息,状态栏信息,Context等。
CInjection 自定义注解,目前只有找ID和点击监听,目前框架未用此注解。
BaseAnimator 封装了各种动画效果,欢迎页更方便了,相对传统动画,这个更炫。
CommonUtil 系功能调用类,用于打电话、发短信、发邮件、分享等方法。
CVarFormat  各个数据类型转换类,是应对小数点保留问题。
FileUtils 对于对手机进行文件操作的人来说,很实用。
ReflexUtils  反射类,经常我们改某些数据,和调用系统方法受到限制,可以用此类解决。
SaveInfoUtils  用于保存对象或者数据到内存,常用于保存登陆返回对象或者数据,避免程序被杀,取不出信息的尴尬,取出来也是对象或者数组,很方便。
ScreenshotUtils 屏幕相关类,用于截屏或者屏幕类操作。
Snippet PX DP SP相互转换类
SystemUtils系统调用类,用于跳转系统设置,图库,视频等等系统路径。
TimerTaskUtils 循环消息类,主要用于发送验证码等计时或者倒计时操作。
AppUtils APP工具类,用于获取自己APP版本、手机其他APP信息,跳转其他APP指定页面等功能。
BitMapUtils 图片工厂类,进行图片剪切压缩等操作。
CListViewMeasure  动态计算ListView宽高,使得在特殊布局下显示位置丢失问题。
CHandler监听全局APP运行状况,捕获崩溃日志,记录手机信息,发送服务器。
MD5Util MDE加密类,对文件或者字符串加密。
PermissionUtils 权限检测和权限申请类。
PopWindowUtils  PopWindow各种封装。  
TextCaCheUtils  网络类。
ValidatorTool正则表达类。
TitleColorUtils APP状态栏设置类。
还有很多类这里就不列举了,一写都几个小时了。。。
对了view包下有很多自定义控件,需要的可以用用,不依赖任何东西,布局了即可用,包括QQ用过的几种侧滑,上滑解锁,其他布局下拉刷新,算了不写完了,普通项目根本永不了那么多。
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值