Android 开发框架和App内调试工具

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);

网络数据请求

网络库使用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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。