標籤:android 架構 、beeframework 、mvc
BeeFramework是什麼
BeeFramework Android版主要為Android初級開發人員提供一個基於MVC開發模式的APP DEMO,並提供一套APP內調試工具,包括
查看網路資料請求曆史
Crash Log列表
真機WIFI環境下類比2G\3G網路
查看APP效能(記憶體佔用,CPU佔用等)
快速開始什麼是MVC
MVC是一種軟體架構模式,把系統分為模型(Model),視圖(View)和控制器(Controller).MVC通過簡化軟體的複雜度,是程式更加直觀,易於複用,擴張和維護。在Android的App開發中,通常控制器是Activity,控制介面跳轉,處理請求,重新整理介面。View對應Android系統的各種layout,實現介面繪製。Model則用來發起HTTP請求,儲存本機資料。
開啟偵錯模式
需要Application繼承自BeeFrameworkApp,在MainActivity按返回鍵時,調用
BeeFrameworkApp.getInstance().showBug(this);
650) this.width=650;" src="https://raw.githubusercontent.com/BeeFramework/BeeFramework_Android/master/example.png" alt="image" style="border:0px;" />
網路資料請求
網路程式庫使用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();開啟Crash Log
String path = Environment.getExternalStorageDirectory().getAbsolutePath() + AppConst.LOG_DIR_PATH;File storePath = new File(path);storePath.mkdirs();Thread.setDefaultUncaughtExceptionHandler(new CustomExceptionHandler( path, null));
類比2G/3G網路
BeeQuery.setForceThrottleBandwidth(true);BeeQuery.setMaxBandwidthPerSecond(1000);//限定1000Bytes/s
本文出自 “知行合一” 部落格,請務必保留此出處http://poarry.blog.51cto.com/5970996/1566099
Android 開發架構和App內調試工具