您的位置:首页 > 移动开发 > Android开发

android mvp高速开发框架介绍(继续dileber)

2017-07-25 18:41 435 查看
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");


最主要的使用就是这么多了

下节我将对我封装的一些好用的工具进行解说
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: