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
时间: 2024-08-06 08:26:31

Android 开发框架和App内调试工具的相关文章

Android App内检测更新新版本APK

Rayland主板虽然作为一块基于Android的工控板,但是很多设备厂商并不想让用户看到Android系统信息.所以APK默认设置为开机启动项.img去除了Android头部和底部菜单.但是随之带来了APK更新的问题,传统的插入u盘,sd卡手动安装新版本APK的方式已经不够用了.所以我们需要点自动的东西. App内检测更新新版本APK 检测新版本APK 我们使用 四大组件之一的BroadcastReceiver来检测 sd卡或是u盘设备的接入. public class StorageMoun

Android app内语言环境切换

逻辑很简单: 1  app内所有activity继承自BaseActivity或BaseActivity派生出来的子类,BaseActivity中维护了一个静态的app Activity访问栈,在创建和销毁时会执行压栈和出栈操作,所以mLocalStack内维持的是app中正在运行的activity. 2  将app的语言环境存储在SharedPreferences中,避免app重启时修改状态不改变:在BaseActivity创建时取出语言环境字符串并初始化Activity语言环境(initLa

Android App内置键盘开发

参考: http://blog.csdn.net/hfsu0419/article/details/7924673 布局文件activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="match_parent"      android:layout_height="match

Android 开发框架汇总

Android 开发框架汇总 时间过的真快,转眼间就要进入到16年的8月了,现在应该是三伏期间,一个字“热”.前端时间整理了一篇“JS前端框架汇总”,然后紧接着又抽时间学习了一下Android开发,在慕课网上学习了很多视频,感觉收获很大,有些事吧,得坚持,多了解些总不是什么坏事.有时候我也会抽时间去国家图书馆看看,书的种类也没有限制,逮着啥看啥. 今天以Android初学者的身份我也试着整理一下Android开发中常用到的一些框架,就当是学习成果,其实多半也是从网上搜的,然后做了一个汇总.那咱就

值得推荐的android开发框架简介

第一个:Afinal 项目地址:https://github.com/yangfuhai/afinal 功能:一个android的ioc,orm框架,内置了四大模块功 能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp.通过finalActivity,我们可以通过注解的 方式进行绑定ui和事件.通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题.通过finalDB模块,我们一行 代码就可以对android的sqlite

Android 开发框架介绍

一.概述 现android开发有很多开发框架使用,做App不一定用到框架,但好框架的思想也是值得学习.选择合适的开发框架可提供实用功能,简化项目开发提升效率. 二.Afinal框架 简介 Afinal是一个android的Sqlite orm和ioc框架,封装android中Http框架简单易用.宗旨是简洁快速,约定大于配置原则.尽量一行代码完成所有事情. 功能模块介绍 1)       数据库模块:android中orm框架,使用线程池对sqlite进行操作. 2)       注解模块:an

Android通过意图使用内置的音频播放器

如果实现一个音频文件的播放,那么在应用程序中提供播放音频文件功能的最简单的方式是利用内置的"Music(音乐)"应用程序的功能--即使用系统自带的或已安装好的音乐播放器来播放指定的音频文件. 本例比较简单,下面直接给出源代码: 布局文件activity_main: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/

Android自复制传播APP原理学习(翻译)

 Android自复制传播APP原理学习(翻译) 1 背景介绍 论文链接:http://arxiv.org/abs/1511.00444 项目地址:https://github.com/Tribler/self-compile-Android 吃完晚饭偶然看到这篇论文,当时就被吸引了,马上翻译总结了一下.如有错误欢迎斧正. 该论文的研究出发点比较高大上这里我们就不多说了,简而言之就是想通过移动设备来实现一个自组网,在发生灾难的时候,手机之间能够自动传输关键数据,减少损失.整个目标通过设计一个能够

Android中实现APP文本内容的分享发送与接收方法简述

谨记(指定选择器Intent.createChooser()) 开始今天的内容前,先闲聊一下: (1)突然有一天头脑风暴,对很多问题有了新的看法和见解,迫不及待的想要分享给大家,文档已经写好了,我需要通过微信或者QQ,短信等社交工具发送给大家. (2)在网上发现一段特别好的文章,想要保存收藏下来. 上面描述了进入智能手机时代后,我们经常遇到的两种情况,那么作为开发者的我们如何让自己开发的APP实现这两种功能呢,下面我们以实现文本的发送分享以及接收来梳理下两种功能的实现过程(其他类型的数据在博文末