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. DNS 劫持、HTTP 劫持与 DNS 污染

    本文为本人的学习笔记,不保证正确. DNS 劫持 指DNS服务器被控制,查询DNS时,服务器直接返回给你它想让你看的信息.这种问题常为 ISP 所为. 由于一般的的电脑的 DNS 服务器 的配置都为自 ...

  2. github 下载部分文件夹

    1.下载svn: 记得勾上: 2.配置环境变量,将svn的bin目录添加到环境变量 3.svn checkout [链接](你的下载的项目地址) 不过,注意,要改一下哦: 比如我要下载todo项目里的 ...

  3. webpack & async await

    webpack & async await ES 7 // async function f() { // return 1; // } const f = async () => { ...

  4. 快乐的Linux命令行

    ls - 列出目录内容 -a 列出所有文件 -d 指定目录信息 -F 为目录增加/标识 -h 增强可读性 -l 列模式显示 -r 反序显示 -S 按照大小排序 -t 按照修改时间排序 file - 确 ...

  5. ECNU 3263 丽娃河的狼人传说(差分约束)

    丽娃河的狼人传说 Time limit per test: 1.0 seconds Memory limit: 256 megabytes 丽娃河是华师大著名的风景线.但由于学校财政紧缺,丽娃河边的路 ...

  6. How Many to Be Happy?

    How Many to Be Happy? 时间限制: 1 Sec  内存限制: 128 MB 题目描述 Let G be a connected simple undirected graph wh ...

  7. Perm 排列计数(bzoj 2111)

    Description 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi>Pi/2. 计算1,2,...N的排列中有多少是Magic ...

  8. SQLServer Split

    ALTER FUNCTION dbo.splitl ( @String VARCHAR(MAX), @Delimiter VARCHAR(MAX) ) RETURNS @temptable TABLE ...

  9. jmeter登录测试

    测试步骤: 1.测试计划--右键添加--Threads--线程组 2. 线程组--右键--http信息头管理器 输入Content-Type=application/json,表示接口请求的默认设置: ...

  10. JS和jquery加载的区别

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...