A-A+
ApkDemo 2014年11月24日11 1775 次浏览安卓源码 | 第三方开源框架 | 自定义控件andbase | 自定义控件 | 自定义框架
文章目录
AndBase 效果
ApkDemo 评语
这个框架是我见到最细心的一个,拥有一个超级详细的中文文档。亲们,掌握它我相信Android商店的应用质量又提高一成。
AndBase 说明
AndBase 简介
andbase框架的藕合性非常的低,你可以在你的项目中用完整的源码进行编译使用,在源码中很多功能你可能并不需要,比如里面的大量的自定义View,在你的项目功能基本定型时,你可以对andbase进行精简,以减少包的大小,比如你不要图表功能,你就找到放图表功能的类,直接将这个包的文件都删除,然后重新编译andbae.jar即可,andbase为了实现更多的功能本身会越来越大,大家采取按需要编译代码即可。
功能列表:
1.andbase中包含了大量的开发常用手段。
如网络下载,多线程与线程池的管理,数据库ORM,图片缓存管理,图片文件下载上传,Http请求工具,SOAP工具类,异步Task,常用工具类(字符串,日期,文件处理,图片处理工具类等),能够使您的应用在团队开发中减少冗余代码,很大的提高了代码的维护性与开发高效性,能很好的规避由于开发疏忽而导致常犯的错误。
2.andbase封装了大量的常用控件。
如list分页,grid分页,下拉刷新,进度框,图片轮播,表格,多线程下载器,侧边栏,图片上传,轮子选择,图表,Tab滑动,日历选择器等。
3.强大的AbActivity,您没有理由不继承它。
继承它你能够获得一个简单强大可设置的操作栏,以及一系列的简单调用,如弹出框,提示框,进度框,副操作栏等。
4.提供效率较高图片缓存管理策略,使内存大幅度节省,利用率提高,效率提高。
程序中要管理大量的图片资源,andbase提供简单的方法,几步完成下载与显示,并支持缩放,裁剪,缓存功能,OOM不在有。
5.封装了大量常见工具类。
包括日期,字符,文件,图片,数学,View万能适配工具类等各种处理函数, 多而全。
6.用andbase大量减少handler的使用,而采用回调函数,代码更整洁。
handler会产生大量代码,并且不好维护,andbase对handler进行了封装,你会发现用了andbase基本代码中不会再有大量的handler判断语句。
7.简单轻量支持注解自动建表的ORM框架(支持一/多对多的关联操作)。
写sql,建表,工作量大,andbase提供更傻瓜异步增删改查工具类,数据库在内置卡和外置卡都可以。
8.异步请求http框架,网络请求标准化,支持文件上传下载,get,post,进度显示。
包含了异步与http请求的工具类,SOAP请求工具类,简单实用。
温馨提示:
andbase开发工具包jar:andbase.jar
演示demo源码:AndBaseDemo 即Android开发宝
类说明doc文档:doc
类库源码:AndBase
AndBase 使用
例子列表:
使用AbImageLoader 下载显示图片例子
HTTP请求例子
一行代码搞定所有屏幕适配 AbViewUtil 例子
列子太多了,详细的请点本站脚友情连接,我这呢就放几个经典的例子。
使用AbImageLoader 下载显示图片
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | //图片的下载 AbImageLoader mAbImageLoader = AbImageLoader.newInstance(this); mAbImageLoader.setLoadingImage(R.drawable.p_w_picpath_loading); mAbImageLoader.setErrorImage(R.drawable.p_w_picpath_error); mAbImageLoader.setEmptyImage(R.drawable.p_w_picpath_empty);
//原图片的下载 mAbImageLoader.setMaxWidth(0); mAbImageLoader.setMaxHeight(0); mAbImageLoader.display(scaleView,p_w_picpathUrl);
//缩放图片的下载(保持宽高比,计算缩放比例,使一个方向缩放后,另一方向不小与显示的大小的最合适比例) mAbImageLoader.setMaxWidth(150); mAbImageLoader.setMaxHeight(150); mAbImageLoader.display(scaleView2,p_w_picpathUrl2);
//放大图片的下载 mAbImageLoader.setMaxWidth(180); mAbImageLoader.setMaxHeight(180); mAbImageLoader.display(scaleView3,p_w_picpathUrl3); |
HTTP请求例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | // 一个url地址 String urlString = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo"; String nameSpace = "http://WebXml.com.cn/"; String methodName = "getMobileCodeInfo"; AbSoapParams params = new AbSoapParams(); params.put("mobileCode", "15150509589"); params.put("userID", ""); mAbSoapUtil.call(urlString,nameSpace,methodName,params, new AbSoapListener() {
//获取数据成功会调用这里 @Override public void onSuccess(int statusCode, String content) {
AbDialogUtil.showAlertDialog(SoapActivity.this,"返回结果",content,new AbDialogOnClickListener(){ @Override public void onNegativeClick() { // TODO Auto-generated method stub
} @Override public void onPositiveClick() { // TODO Auto-generated method stub
} }); }
// 失败,调用 @Override public void onFailure(int statusCode, String content, Throwable error) {
AbToastUtil.showToast(SoapActivity.this,error.getMessage()); } // 开始执行前 @Override public void onStart() { //显示进度框 AbDialogUtil.showProgressDialog(SoapActivity.this,0,"正在查询..."); } // 完成后调用,失败,成功 @Override public void onFinish() { //移除进度框 AbDialogUtil.removeDialog(SoapActivity.this); }; }); |
一行代码搞定所有屏幕适配 AbViewUtil 例子
1 2 3 4 5 6 7 8 9 10 11 12 13 | //(1)首先在你的应用的application中设置: AbAppConfig.UI_WIDTH = 1080; AbAppConfig.UI_HEIGHT = 700; 这是美工的UI尺寸,单位是像素。 //(2)然后在Activity中 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setAbContentView(R.layout.add_photo); //根布局,递归缩放 AbViewUtil.scaleContentView((RelativeLayout)findViewById(R.id.rootLayout)); } //(3)设计布局时,记得所有单位为px |