对于现在的开发节奏越来越快,集成了一些常用的Android开发第三方开源框架,以及一些自定义类和很实用的工具类,帮助快速开发,今天特意整理了一下共享给大家,希望能帮助到大家。
基本包含一下内容:
一:集成第三方框架:
1.Pulltorefreshview下拉刷新,支持各种ListView已经GridView的下拉;
2.ViewPageIndicator 常用到滑动导航的开源框架,可以很方便的做到网易新闻客户端Tab标签滑动导航的功能(4种样式);
3.Zxing 二维码/条形码识别的框架。项目中如果需要进行二维码的扫描,可以使用此框架,已经集成在项目中,只需要以startActivityForResult的方式调用本项目中的CaptureActivity类即可打开扫描界面,然后在返回结果中获得扫描到的结果;这个CaptureActivity已经实现了扫描成功时的震动和确认声音,提高用户的体验。当然还有从下而上的滑动滚动横杠,如果有特别的需求可以自己修改,比如说加上闪光灯也是个不错的想法;
4.Universal-image-loader 对于图片的加载怎么少的了这个开源框架呢,全面解决你项目中ListView加载图片的各种问题;
5.android-async-http 非常成熟的异步请求网络的类,使用起来非常简单,从MyHttpClient中可以看到使用方法;当然你也可以不需要网络框架,自己封装httpclient做成MyHttpClient,不过开源框架毕竟是很成熟了的,可以解决在实际运行过程中的一些未知问题;
6.xUtils 很不错的快速开发框架,其中的ViewUtil模块可以省去我们在项目中的各种烦人的findViewById代码,以及setOnclickLister等,属于android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
7.Gson 可以用于对服务器端返回的json解析,在工具类中可以找到GsonUtil 帮助类,解析json非常的方便;
8.volley, 谷歌官方的访问网络的框架;
9.EventBus, 简化Android组件间通信库;
10.Butterknife 依赖注入框架,让你从findViewById中解放出来;
二:集成自定义类:
1.BounceScrollView ScrollView阻尼反弹效果的实现;
2.CameraPreview 自定义的拍照控件,可以用在扫描二维码上;
3.CircleImageView 圆形的imageview,只需在layout布局文件中声明即可;
4.ClearEditText 带删除按钮的输入框;
5.CustomProgressDialog 自定义转圈的Dialog;
6.CustomToast 自定义的Toast;
7.CustomViewPager 可以控制滚动的ViewPager;
8.FlippingImageView 左右翻转旋转图片的ImageView;
9.ImageCycleView 集合ViewPager和指示器的一个轮播控件,主要用于一般常见的广告图片轮播,具有自动轮播和手动轮播功能 ;
10.ImageTextView 文字图片,这个相信大家都知道,比如QQ底部导航上的未读消息数;
11.LazyViewPager 外国人写的广告轮播控件;
12.ModelPopup 仿QQ从底部弹出的PopupWindow,自带从下往上动画;
13.MultiTouchImageView 可用手势放大,缩小的,旋转的imageview;
14.NoScrollGridView 没有滚动条的gridview;
15.NoScrollListView 无滚动条的ListView;
16.ProgressWebView 带进度条的WebView;
17.ProgressWheel 自定义的环形进度条;
18.RollViewPager 自动播放的广告条,viewpager,带标题和滚动的小圆点,有点击事件;
19.RotateAnimation 旋转动画;
20.ScaleImageView 能够自适配的ImageView;
21.ScrollListView ScrollView中嵌套ListView的解决方案 解决在scrollview中只显示Listview中一行的问题 ;
22.SendValidateButton 发送验证码的button,带有倒计时,以及在发送的过程中不可点击;
23.SlideButton 滑动开关;
24.TopBarView 每个应用都需要用到的顶部导航条自定义,包含有返回,标题等五个控件;
三:集成工具类:
1.ActivityUtil Activity的工具类;
2.AppHelper app的帮助类;
3.AppManager 一个管理Activity的类,可以对项目中Activity的生命周期进行管理,达到安全退出的目的;
4.BitmapUtil 保存 bitmap 到SD卡;
5.BroadcastHelper 广播帮助类;
6.CacheUtil 缓存工具;
7.CommonUtils 通用的类;
8.DateUtil 日志管理工具类;
9.DeviceInfoUtil 手机设备的相关信息 获得设备相关的信息,IMEI,设备的蓝牙,和SD卡是否可用;
10.DisplayUtil 屏幕显示的工具类;
11.FileUtil 创建文件工具类;
12.GsonUtil 谷歌的Gson解析工具类,官方推荐;
13.InputMethodUtil 对于软键盘的管理;
14.LogManager 日志打印管理类;
15.MD5Util md5的加密;
16.PlaySoundUtil 声音播放的工具类,可以使用meidaplayer,也可以使用SoundPool播放池来播放更有效率;
17.SharePrefUtil data-config 文件管理类;
18.StringUtil 关于文本字符串的处理类;
19.ToastManager 管理toast的类;
20.ServiceManager 获得系统服务管理器;
21.NetStateUtil 检查网络状态的工具类;
22.
四:封装了BaseActivity,BaseFragment,BasePage,对BaseAdapter进行封装,把所有的公共点进行封装,子类只需要继承即可;
五:万能的ViewHolder 可以省去每次都需要在Adapter类中写一个静态的ViewHolder问题,实现代码的重用性;
六:CrashHandler 异常崩溃处理类 当程序发生未捕获异常时,由该类来接管程序并记录发送错误报告;
PS:使用方法:直接导入项目,开始快速开发(当然有些东西有稍微的重复,可以根据具体需求来选择取舍)。
注意:继承BaseActivity后 setContentView(layoutResID);这个方法必须写在initView();中,不然找不到控件。