Android 開發框架和App內調試工具

BeeFramework是什麼

BeeFramework Android版主要爲Android初級開發人員提供一個基於MVC開發模式的APP DEMO,並提供一套APP內調試工具,包括git

  • 查看網絡數據請求歷史github

  • Crash Log列表ajax

  • 真機WIFI環境下模擬2G\3G網絡網絡

  • 查看APP性能(內存佔用,CPU佔用等)架構

快速開始

什麼是MVC

MVC是一種軟件架構模式,把系統分爲模型(Model),視圖(View)和控制器(Controller).
MVC經過簡化軟件的複雜度,是程序更加直觀,易於複用,擴張和維護。
在Android的App開發中,一般控制器是Activity,控制界面跳轉,處理請求,刷新界面。
View對應Android系統的各類layout,實現界面繪製。
Model則用來發起HTTP請求,存儲本地數據。

開啓調試模式

須要Application繼承自BeeFrameworkApp,在MainActivity按返回鍵時,調用mvc

BeeFrameworkApp.getInstance().showBug(this);

p_w_picpath

網絡數據請求

網絡庫使用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();

開啓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
相關文章
相關標籤/搜索