Android MVC框架 - Baymax
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相关推荐
- Android MVC框架
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.MVC是什么? 二.写个简单的例子 1.bean 2.callback 3.interfaces 4.model ...
- Android MVC框架,个人见解
关于网上对mvc框架的介绍有很多,例子也很多.因为框架都是人用的,所以每个人都有每个人的见解.由于最近有大把的时间,巩固下基础和加深下理解[以下都是个人理解,可以借鉴,有自己的想法]. mvc的优点: ...
- Android的MVC框架
http://www.cnblogs.com/wanghafan/archive/2012/07/20/2600786.html MVC是当前比较流行的框架,随便Google下,就可以发现几乎所有的应 ...
- 为什么我不再使用MVC框架
在我最近的工作中,最让人抓狂的就是为前端开发人员设计API.我们之间的对话大致就是这样的: 开发人员:这个页面上有数据元素x,y,z-,你能不能为我创建一个API,响应格式为{x: , y:, z: ...
- Android MVC模式
Android MVC模式 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51172105 前些天看到 ...
- 通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[中篇]:请求响应
<200行代码,7个对象--让你了解ASP.NET Core框架的本质>让很多读者对ASP.NET Core管道有了真实的了解.在过去很长一段时间中,有很多人私信给我:能否按照相同的方式分 ...
- 通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[上篇]
<200行代码,7个对象--让你了解ASP.NET Core框架的本质>让很多读者对ASP.NET Core管道有了真实的了解.在过去很长一段时间中,有很多人私信给我:能否按照相同的方式分 ...
- android mvc mvp 简书,浅析 MVP,MVC,MVVM模式(Android)
前言 当我们接手一个项目的时候,经常会发现一个activity或fragment动辄上千行甚至上万行代码,这给阅读带来很大的困扰,如果想读懂代码,需要花费很多时间跟精力.引起这个问题的原因想必大家都了 ...
- mvc如何嵌套第三方页面_长文观点丨为什么我不再使用MVC框架?
原创: 张卫滨 译 Jean-Jacques Dubray是一名资深工程师,他最近引入了一个新的模式:状态-行为-模(State-Action-Model,SAM).SAM是一个函数式反应型的编程模式 ...
最新文章
- 提高C#编程水平的50个要点
- 数字货币EOS半年时间暴跌90%多,还可追捧吗?
- LigerUI权限系统之组织结构
- 日志为什么不入数据库
- 打印iphone支持的所有字体
- win7系统的CMD窗口切换目录--小计
- 手机端的1px细线问题
- python之路--面向对象之封装
- 测试方法——正交表法
- springboot项目启动报Ambiguous mapping. Cannot map ‘xxxController‘ method
- Tomcat学习之路
- RNA m6A修饰问题汇总(第二期)
- 音视频开发系列1:音视频开发基本概念
- org.hibernate.UnknownEntityTypeException: Unable to locate persister: 异常解决
- vue中DatePicker从前台到后台日期偶尔差一天
- html 匿名函数,一家之言:谈谈JavaScript匿名函数
- 安装VMware-tools出现initctl: Job failed to start
- P1423 小玉在游泳-C语言
- android+饭否+开源,GitHub - mcxiaoke/fanfouapp-opensource: 饭否Android客户端开源项目
- fddb库上使用ssd训练的人脸检测器
热门文章
- 马斯克宣布限流后 Twitter 宕机,开发者深挖:它自己把自己搞崩的!
- Android App耗电发热分析
- linux密码sha512解密,使用sha512算法加密linux密码
- 浙大哈佛剑桥学者联手破解数学界几十年的谜题,成果登上数学顶刊
- java丰桥顺丰路由接口调用
- 交换机配置VLAN及Access接口
- 哈工大毕设体验记录-使用ZYNQ MPSoC开发板实现的Linux环境千兆以太网C语言UDP协议批量文件存取(上)
- 程序员电脑桌面是什么样的? 网友: IE浏览器必删, 不能留!
- 嵌入式软件测试数据输入和获取的方法
- 嵌入式软件自动化测试平台构架设计