android mvp高速开发框架介绍(继续dileber)
android mvp框架:dileber(https://github.com/dileber/dileber.git)
继续为大家介绍android mvp开源框架 dileber
官方交流qq群:171443726
我个人qq:297165331~~有什么问题也能够咨询~~
这节5主要介绍 主要功能 presenter 和 delegate的使用
写一个类继承于AppViewDelegate
public class SplashViewDelegate extends AppViewDelegate{
@Override
public int getRootLayoutId() {
return R.layout.activity_splash;
}
LinearLayout splash_layout;
ImageView imageView;
@Override
public void initWidget() {
super.initWidget();
splash_layout = bindView(R.id.splash_layout);
imageView = bindView(R.id.imageView);
}
}
如图须要实现 getRootLayoutId方法,这种方法主要就是返回 splashactivity的layout
SplashViewDelegate
这个delegate就是专门为splashactivity产生的类
initwidget就是能够初始化一些组件
你能够把你要初始化的组件放到这里,还能够在这个类里写一些展示效果
展示效果能够写到view接口
再通过对接口的编程。达到须要的效果
implements ISplashView{
假设你想获得当前activity
则能够使用
getActivity();
获得当前layout
getRootView()
然后開始解说 presenter了
首先我想讲两个特殊的注解
@CloseStatusBar
@CloseTitle
public class SplashActivity extends ActivityPresenter<SplashViewDelegate> {
一个是
@CloseStatusBar
他的作用是能够使得当前activity全屏
一个是
@CloseTitle
他的作用是能够使得当前activity的title消失
上面的两个注解主要为了方便开发
presenter一般使用代码例如以下
public class SplashActivity extends ActivityPresenter<SplashViewDelegate> {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ISplashScm imageSrc = new SplashScm();
imageSrc.showSplashResourceImage((ImageView) viewDelegate.get(R.id.imageView));
GoodsListScm goodsListScm = new GoodsListScm();
goodsListScm.getGoodsList(null, null, null, null, null, new OnGoodsListListener<GoodsModel>() {
@Override
public void before() {
viewDelegate.loading();
}
@Override
public void success(GoodsModel model) {
String ss = HJson.toJson(model);
SLog.i(">>>>>>",ss);
viewDelegate.loadDialogDismiss();
}
@Override
public void failed() {
viewDelegate.loadDialogDismiss();
}
});
}
@Override
protected Class<SplashViewDelegate> getDelegateClass() {
return SplashViewDelegate.class;
}
@Override
protected void bindEvenListener() {
super.bindEvenListener();
}
@Override
public void onClick(View view) {
}
}
你能够在bindevenlistener中编写监听器代码。
例如以下
@Override
protected void bindEvenListener() {
super.bindEvenListener(); viewDelegate.setOnClickListener(this,R.id.mask_left);
}
或者例如以下
viewDelegate.setOnClickListener(this,R.id.mask_left,R.id.confirm_button);
或者例如以下
viewDelegate.setOnClickListener(this,button1,view2,view3);
假设你想展示 toast
我写了一个自己定义的toast帮助你使用
viewDelegate.toast("ddddd", Toast.LENGTH_SHORT);
另一个不错的 载入框
viewDelegate.loading();
viewDelegate.loadDialogDismiss();
注意成对使用
另一个确定取消框
viewDelegate.dialogOk("eeee", new DialogLinstener() {
@Override
public void confirm(Dialog dialog) {
}
@Override
public void cancel(Dialog dialog) {
}
});
错误对话框
viewDelegate.showAlert(SplashViewDelegate.DIALOG_ERROR,"ddd");
成功对话框
viewDelegate.showAlert(SplashViewDelegate.DIALOG_SUCCESS,"ddd");
最主要的使用就是这么多了
下节我将对我封装的一些好用的工具进行解说
android mvp高速开发框架介绍(继续dileber)的更多相关文章
- android mvp高速开发框架介绍(dileber的简单介绍)
今天我为大家介绍一款android mvp框架:dileber(https://github.com/dileber/dileber.git) 官方交流qq群:171443726 我个人qq:2971 ...
- android mvp高速开发框架介绍(dileber使用之小工具使用)
android mvp框架:dileber(https://github.com/dileber/dileber.git) 继续为大家介绍android mvp开源框架 dileber 官方交流qq群 ...
- android mvp高速开发框架介绍(dileber使用之图片下载工具)
这几天忙着工作- 今天抽时间又把框架的bug处理了一下--并且把volley的源代码改动了一下 android mvp框架:dileber(https://github.com/dileber/dil ...
- Android MVP模式 简单易懂的介绍方式
主要学习这位大神的博客:简而易懂 Android MVP模式 简单易懂的介绍方式 https://segmentfault.com/a/1190000003927200
- Android MVP模式简单易懂的介绍方式 (三)
Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 讲完M和P,接下来就要讲V了.View ...
- Android MVP模式简单易懂的介绍方式 (二)
Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 上一篇文章我们介绍完了Model的创建 ...
- Android MVP模式简单易懂的介绍方式 (一)
Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 最近正在研究Android的MVP模式 ...
- XDroidMvp 轻量级的Android MVP快速开发框架
XDroidMvp是XDroidAndroid快速开发框架的MVP版本,其使用方式类似于XDroid,大部分源码也来自XDroid. XDroidMvp主要会有这些特性: 无需写Contract! 无 ...
- android MVP模式简单介绍
原文 http://zhengxiaopeng.com/2015/02/06/Android%E4%B8%AD%E7%9A%84MVP/ 前言 MVP作为一种MVC的演化版本在Android开发中受到 ...
随机推荐
- [已解决]Argument list too long如何处理?
Argument list too long 本质是需要处理的长度超过系统的长度,因此无法执行相关命令. 经过搜索发现了两种方法,思想都是将参数切分成小的段落进行执行. 法一:通过xargs传递参数 ...
- iOS----------设计模式的六大设计原则------>开放-关闭原则(OCP,Open-Close Principle)
定义 一个软件实体(如类.模块.函数)应当对扩展开放,对修改关闭. 定义解读 在项目开发的时候,都不能指望需求是确定不变化的,大部分情况下,需求是变化的.那么如何应对需求变化的情况?这就是开放-关闭原 ...
- CLion 使用笔记
我并不会写 CMakeFiles . 我要对拍,所以需要按下 Ctrl + F9 后同时编译 main.cpp 和 ref.cpp 两个文件,并生成 main.exe 和 ref.exe 以备进一步处 ...
- 【EX_BSGS】BZOJ1467 Pku3243 clever Y
1467: Pku3243 clever Y Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 425 Solved: 238[Submit][Status ...
- IO文本操作
创建文件并写入内容 StreamWriter sw = new StreamWriter(url, “false 覆盖,true 追加”, Encoding.UTF8); sw.Write(“内容”) ...
- [USACO Section 5.3]量取牛奶 Milk Measuring (动态规划,背包$dp$)
题目链接 Solution 完全背包 \(dp\) , 同时再加一个数组 \(v[i][j]\) 记录当总和为\(j\) 时第 \(i\) 种物品是否被选. 为保证从小到大和字典序,先将瓶子按大小排序 ...
- python百度贴吧爬虫
# -*- coding: utf-8 -*- #coding=utf-8 import urllib import urllib2 import re import thread import ti ...
- 洛谷 [P1337] 平衡点
模拟退火练手 一道模拟退火的好题 结果一定势能最小 与模拟退火思路高度一致 #include <iostream> #include <cstdio> #include < ...
- 【LA5059】Playing With Stones (SG函数)
题意:有n堆石子,分别有a[i]个.两个游戏者轮流操作,每次可以选一堆,拿走至少一个石子,但不能拿走超过一半的石子. 谁不能拿石子就算输,问先手胜负情况 n<=100,1<=a[i]< ...
- jQuery重要插件!
原文发布时间为:2009-08-05 -- 来源于本人的百度文章 [由搬家工具导入] 强烈推荐:240多个jQuery插件 概述 jQuery 是继 prototype 之后又一个优秀的 Javasc ...