国人写的Android开发框架 AndBase
A-A+
文章目录
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