BeeFramework Android版主要爲Android初級開發人員提供一個基於MVC開發模式的APP DEMO,並提供一套APP內調試工具,包括git
查看網絡數據請求歷史github
Crash Log列表ajax
真機WIFI環境下模擬2G\3G網絡網絡
查看APP性能(內存佔用,CPU佔用等)架構
MVC是一種軟件架構模式,把系統分爲模型(Model),視圖(View)和控制器(Controller). MVC經過簡化軟件的複雜度,是程序更加直觀,易於複用,擴張和維護。 在Android的App開發中,一般控制器是Activity,控制界面跳轉,處理請求,刷新界面。 View對應Android系統的各類layout,實現界面繪製。 Model則用來發起HTTP請求,存儲本地數據。
須要Application繼承自BeeFrameworkApp,在MainActivity按返回鍵時,調用mvc
BeeFrameworkApp.getInstance().showBug(this);
網絡庫使用Android Query,並作進一步封裝。ide
(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中建立網絡請求方法this
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中實現Busine***esponse方法,網絡請求成功後,會調用該方法,在此處理界面刷新等操做
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