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)的更多相关文章

  1. android mvp高速开发框架介绍(dileber的简单介绍)

    今天我为大家介绍一款android mvp框架:dileber(https://github.com/dileber/dileber.git) 官方交流qq群:171443726 我个人qq:2971 ...

  2. android mvp高速开发框架介绍(dileber使用之小工具使用)

    android mvp框架:dileber(https://github.com/dileber/dileber.git) 继续为大家介绍android mvp开源框架 dileber 官方交流qq群 ...

  3. android mvp高速开发框架介绍(dileber使用之图片下载工具)

    这几天忙着工作- 今天抽时间又把框架的bug处理了一下--并且把volley的源代码改动了一下 android mvp框架:dileber(https://github.com/dileber/dil ...

  4. Android MVP模式 简单易懂的介绍方式

    主要学习这位大神的博客:简而易懂 Android MVP模式 简单易懂的介绍方式 https://segmentfault.com/a/1190000003927200

  5. Android MVP模式简单易懂的介绍方式 (三)

    Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 讲完M和P,接下来就要讲V了.View ...

  6. Android MVP模式简单易懂的介绍方式 (二)

    Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 上一篇文章我们介绍完了Model的创建 ...

  7. Android MVP模式简单易懂的介绍方式 (一)

    Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 最近正在研究Android的MVP模式 ...

  8. XDroidMvp 轻量级的Android MVP快速开发框架

    XDroidMvp是XDroidAndroid快速开发框架的MVP版本,其使用方式类似于XDroid,大部分源码也来自XDroid. XDroidMvp主要会有这些特性: 无需写Contract! 无 ...

  9. android MVP模式简单介绍

    原文 http://zhengxiaopeng.com/2015/02/06/Android%E4%B8%AD%E7%9A%84MVP/ 前言 MVP作为一种MVC的演化版本在Android开发中受到 ...

随机推荐

  1. JavaScript: 理解对象

    ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.” 严格来讲,这就相当于说对象是一组没有特定顺序的值.对象的每个属性或者方法都有一个名字,而每个名字都映射到一个值 ...

  2. php添加扩展模块swoole

    php添加扩展模块swoole 应开发同事要求,需要安装php的扩展模块swoole.swoole是一种PHP高级Web开发框架,框架不是为了提升网站的性能,而是为了提升网站的开发效率,以最少的性能损 ...

  3. socket传输对象

    server public class Server{ private static int port = 8888; private static ServerSocket serverSocket ...

  4. bzoj4455【ZJOI2016】小星星

    题意:http://www.lydsy.com/JudgeOnline/problem.php?id=4455 给一张图和该图的一棵生成树,求可能的编号方案数 sol  :dalao教导我们,看到计数 ...

  5. python常用内建函数

    1.input 读取控制台的输入,输出的是字符串 2.enumerate 遍历数组的时候,能够将index 和item同时返回,返回的每一项包含index,item 3.isinstance(obje ...

  6. Python matplotlib 柱状图

    matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.它的文档相当完备,并且 ...

  7. 简单解决 ATL:CString WTL:CString 冲突

    //stdafx.h #include <atlbase.h> #include <atlstr.h> #include <atlapp.h> extern CAp ...

  8. 解决 unity 用 vs通过wifi 真机联调 一直连接不上

    平时 在公司网络太差,要通过wifi 用vs真机联调时,vs一直连不上设备,很是蛋疼...用下面官方给出的方法可以解决 Attaching MonoDevelop Debugger To An And ...

  9. 如何清除全部的NSUserDefaults储存的数据。

    今天做项目遇到,如何清除全部的NSUserDefaults储存的数据. 方法1:找到所有的key然后remove掉 代码: [objc] view plain copy /** * 清除所有的存储本地 ...

  10. HDU4305 Lightning

    There are N robots standing on the ground (Don't know why. Don't know how). Suddenly the sky turns i ...