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

來源:互聯網
上載者:User

標籤: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內調試工具

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.