目前android用的比较多的整体框架有Afinal、ThinkAndroid、Andbase、XUtils。大体的思路都差不多,取2个简单介绍下。
1. Afinal
简介:Afinal是一个android的ORM和IOC框架,相对比较简单,主要包含四大框架FinalActivity、FinalDB、FinalHttp、FinalBitmap。
项目地址:https://github.com/yangfuhai/afinal
FinalActivity模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
- public class AfinalDemoActivity extends FinalActivity {
- //无需调用findViewById和setOnclickListener等
- @ViewInject(id=R.id.button,click="btnClick") Button button;
- @ViewInject(id=R.id.textView) TextView textView;
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- public void btnClick(View v){
- textView.setText("text set form button");
- }
- }
FinalDB模块:android中的orm框架,一行代码就可以进行增删改查。支持一对多,多对一等查询。
- FinalDb db = FinalDb.create(this);
- User user = new User(); //这里需要注意的是User对象必须有id属性,或者有通过@ID注解的属性
- user.setEmail("mail@tsz.net");
- user.setName("michael yang");
- db.save(user);
FinalHttp模块:通过httpclient进行封装http数据请求,支持ajax方式加载。
FinalBitmap模块:一些图片的异步加载、缓存、动画等。
2. ThinkAndroid
简介:ThinkAndroid和Afinal相比大体的设计思路差不多,但他的功能模块更加详细,并且具有较好的Activity管理功能。
项目地址:https://github.com/white-cat/ThinkAndroid
主要功能:
MVC模块:实现视图与模型的分离。
ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。
数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。
缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置
图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。
日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印
下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。
网络状态检测模块:当网络状态改变时,对其进行检测。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。