标签:android 框架 、beeframework 、mvc
BeeFramework Android版主要为Android初级开发人员提供一个基于MVC开发模式的APP DEMO,并提供一套APP内调试工具,包括
查看网络数据请求历史
Crash Log列表
真机WIFI环境下模拟2G\3G网络
查看APP性能(内存占用,CPU占用等)
MVC是一种软件架构模式,把系统分为模型(Model),视图(View)和控制器(Controller). MVC通过简化软件的复杂度,是程序更加直观,易于复用,扩张和维护。 在Android的App开发中,通常控制器是Activity,控制界面跳转,处理请求,刷新界面。 View对应Android系统的各种layout,实现界面绘制。 Model则用来发起HTTP请求,存储本地数据。
需要Application继承自BeeFrameworkApp,在MainActivity按返回键时,调用
BeeFrameworkApp.getInstance().showBug(this);
网络库使用Android Query,并做进一步封装。
(1) 创建一个datamodel类。
public class ShotModel extends BaseModel { public ShotModel(Context context) { super(context); } }
(2)在Activity中新建model。
shotModel = new ShotModel(this); shotModel.addResponseListener(this);
(3)在datamodel中创建网络请求方法
public void getData() { String url = ApiInterface.SHOT_LIST; BeeCallback<JSONObject> cb = new BeeCallback<JSONObject>(){ @Override public void callback(String url, JSONObject jo, AjaxStatus status) { ShotModel.this.OnMessageResponse(url, jo, status); } }; cb.url(url).type(JSONObject.class).method(Constants.METHOD_GET); aq.ajax(cb); }
(4)在Activity中实现BusinessResponse方法,网络请求成功后,会调用该方法,在此处理界面刷新等操作
public void OnMessageResponse(String url, JSONObject jo, AjaxStatus status) throws JSONException { }
任何一个实现继承自Model的对象都可以实现存储。 例如: public class COMMENT extends Model { } 存储: COMMENT comment = new COMMENT(); comment.save() 读取: COMMENT comment = new Select().from(COMMENT.class).where("COMMENT_id = ?", 1).orderBy("COMMENT_id ASC").executeSingle();
String path = Environment.getExternalStorageDirectory().getAbsolutePath() + AppConst.LOG_DIR_PATH; File storePath = new File(path); storePath.mkdirs(); Thread.setDefaultUncaughtExceptionHandler(new CustomExceptionHandler( path, null));
BeeQuery.setForceThrottleBandwidth(true); BeeQuery.setMaxBandwidthPerSecond(1000);//限定1000Bytes/s
本文出自 “知行合一” 博客,请务必保留此出处http://poarry.blog.51cto.com/5970996/1566099
标签:android 框架 、beeframework 、mvc
原文地址:http://poarry.blog.51cto.com/5970996/1566099