Android MVC框架 - Baymax

优点1:再也不用管AndroidManifest.xml这个烦人的家伙了。
优点2:你一定要相信注解是多么的高效。
优点3:Controller把业务跟UI分离;熟悉Spring的同学可能注意到了,这里的Controller就是从Spring模仿过来的。但用法跟Spring完全不一样。
       网络层已经封装好,你只管专心处理你的业务以及交互。
优点4:提供一个高效超好用的反射工具类,如果你对Hook或者说java反射感兴趣的话,该类可以帮你大忙。
优点5:提供一个View选择器工具,你再也不用写findViewById了。

项目地址:https://github.com/xuehuiniaoyu/Baymax

--------------------------------------------------------------------------------------------------------------------------------

Gradle 方式把框架集成到项目

1.Add it in your root build.gradle at the end of repositories (添加maven仓库到根目录下的build.gradle):

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

2.Add the dependency(添加依赖到app下的build.gradle)

dependencies {
    ...
    compile 'com.github.xuehuiniaoyu:Baymax:v1.2'
}

--------------------------------------------------------------------------------------------------------------------------------

Maven 方式把框架继承到项目

1.
<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

2.
<dependency>
    <groupId>com.github.xuehuiniaoyu</groupId>
    <artifactId>Baymax</artifactId>
    <version>v1.2</version>
</dependency>

--------------------------------------------------------------------------------------------------------------------------------

首先你要继承BaymaxApplication然后在AndroidManifest.xml中配置

public class ExampleApplication extends BaymaxApplication {
    @Override
    public void onCreate() {
        super.onCreate();
        Baymax.single().setAnnotationsPackage("com.disney4a.baymax_example.app").play();
    }
}

com.disney4a.baymax_example.app 是注解所在的包

--------------------------------------------------------------------------------------------------------------------------------

接下来就可以完美使用了!

--------------------------------------------------------------------------------------------------------------------------------

Activity的使用:

@Tag_Activity(name = "test-activity")
public class TestActivity extends BaymaxCompatActivity {
    ...
}

打开Actiity

Baymax.single().activity("test-activity").start();

--------------------------------------------------------------------------------------------------------------------------------

Controller的使用:

@Tag_Controller(webSite = "http://www.baidu.com")
public class TestController {

@Tag_Controller.Path(name = "getBaidyContent")
    @Tag_Http
    public void baidu(Correspondents correspondents, final TextView textView) {
    correspondents.setExpectation(new HttpExpectation() {
            @Override
            public void onRepay(HttpRepay repay) {
                try {
                    final String result = System.currentTimeMillis()+" - "+repay.getResponse().body().string();
                    textView.post(new Runnable() {
                        @Override
                        public void run() {
                            textView.setText(result);
                        }
                    });
                } catch (Exception e) {

}
            }
        });
        correspondents.go();
    }

}

执行Controller中的baidu方法:

TextView baiduResult;
Baymax.single().execute("getBaidyContent", baiduResult);

correspondents参数为自动创建,只要通过Path注解的方法都必须保证第一个参数为Correspondents或Correspondents的子类型。
你不用管这个对象是怎么来的,你只需要定义它的类型,框架会帮你创建这个对象。

除了correspondents之外的其他参数都要在execute方法执行的时候传递进来。

Android MVC框架 - Baymax相关推荐

  1. Android MVC框架

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.MVC是什么? 二.写个简单的例子 1.bean 2.callback 3.interfaces 4.model ...

  2. Android MVC框架,个人见解

    关于网上对mvc框架的介绍有很多,例子也很多.因为框架都是人用的,所以每个人都有每个人的见解.由于最近有大把的时间,巩固下基础和加深下理解[以下都是个人理解,可以借鉴,有自己的想法]. mvc的优点: ...

  3. Android的MVC框架

    http://www.cnblogs.com/wanghafan/archive/2012/07/20/2600786.html MVC是当前比较流行的框架,随便Google下,就可以发现几乎所有的应 ...

  4. 为什么我不再使用MVC框架

    在我最近的工作中,最让人抓狂的就是为前端开发人员设计API.我们之间的对话大致就是这样的: 开发人员:这个页面上有数据元素x,y,z-,你能不能为我创建一个API,响应格式为{x: , y:, z: ...

  5. Android MVC模式

    Android MVC模式     [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51172105       前些天看到 ...

  6. 通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[中篇]:请求响应

    <200行代码,7个对象--让你了解ASP.NET Core框架的本质>让很多读者对ASP.NET Core管道有了真实的了解.在过去很长一段时间中,有很多人私信给我:能否按照相同的方式分 ...

  7. 通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[上篇]

    <200行代码,7个对象--让你了解ASP.NET Core框架的本质>让很多读者对ASP.NET Core管道有了真实的了解.在过去很长一段时间中,有很多人私信给我:能否按照相同的方式分 ...

  8. android mvc mvp 简书,浅析 MVP,MVC,MVVM模式(Android)

    前言 当我们接手一个项目的时候,经常会发现一个activity或fragment动辄上千行甚至上万行代码,这给阅读带来很大的困扰,如果想读懂代码,需要花费很多时间跟精力.引起这个问题的原因想必大家都了 ...

  9. mvc如何嵌套第三方页面_长文观点丨为什么我不再使用MVC框架?

    原创: 张卫滨 译 Jean-Jacques Dubray是一名资深工程师,他最近引入了一个新的模式:状态-行为-模(State-Action-Model,SAM).SAM是一个函数式反应型的编程模式 ...

最新文章

  1. 提高C#编程水平的50个要点
  2. 数字货币EOS半年时间暴跌90%多,还可追捧吗?
  3. LigerUI权限系统之组织结构
  4. 日志为什么不入数据库
  5. 打印iphone支持的所有字体
  6. win7系统的CMD窗口切换目录--小计
  7. 手机端的1px细线问题
  8. python之路--面向对象之封装
  9. 测试方法——正交表法
  10. springboot项目启动报Ambiguous mapping. Cannot map ‘xxxController‘ method
  11. Tomcat学习之路
  12. RNA m6A修饰问题汇总(第二期)
  13. 音视频开发系列1:音视频开发基本概念
  14. org.hibernate.UnknownEntityTypeException: Unable to locate persister: 异常解决
  15. vue中DatePicker从前台到后台日期偶尔差一天
  16. html 匿名函数,一家之言:谈谈JavaScript匿名函数
  17. 安装VMware-tools出现initctl: Job failed to start
  18. P1423 小玉在游泳-C语言
  19. android+饭否+开源,GitHub - mcxiaoke/fanfouapp-opensource: 饭否Android客户端开源项目
  20. fddb库上使用ssd训练的人脸检测器

热门文章

  1. 马斯克宣布限流后 Twitter 宕机,开发者深挖:它自己把自己搞崩的!
  2. Android App耗电发热分析
  3. linux密码sha512解密,使用sha512算法加密linux密码
  4. 浙大哈佛剑桥学者联手破解数学界几十年的谜题,成果登上数学顶刊
  5. java丰桥顺丰路由接口调用
  6. 交换机配置VLAN及Access接口
  7. 哈工大毕设体验记录-使用ZYNQ MPSoC开发板实现的Linux环境千兆以太网C语言UDP协议批量文件存取(上)
  8. 程序员电脑桌面是什么样的? 网友: IE浏览器必删, 不能留!
  9. 嵌入式软件测试数据输入和获取的方法
  10. 嵌入式软件自动化测试平台构架设计