继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

一 dileber开发mvp项目、activity基类实现与代码示例

慕码人3916992
关注TA
已关注
手记 98
粉丝 81
获赞 3602

dileber android 框架:乁( ˙Ω˙ )厂 跳转链接 dileber android框架
怎么说呢?既然看到了就在github上star一下呗 (´ཀ`」 ∠)

该项目是一个mvp项目

dileber 安卓框架一共提供了2个activity基础类,分别是
BaseActivity,UBaseActivity
<strong>BaseActivity(可定制化比较高,如果项目有需求,在其基础上直接继承更改):</strong>
BaseActivity是最基础的类,只要继承该类,ActivityManager就能帮助你方便的管理所有的activity,甚至无需在项目中传递context就能完成上下文对接。

该类含有三个注解:
<pre>CloseStatusBar,HideKeyboard,CheckKeyboard</pre>
字面意思就是关闭状态栏,和隐藏键盘(刚进入activity时候有时候会弹出键盘,加上这个注解之后将键盘屏蔽掉),还有一个就是检查是否弹出键盘(判断如果弹出键盘的话就执行showKeyboard 函数)

必须实现的方法
<pre>layoutViewId,startView,initView</pre>
第一个是需要吧layout的id返回,第二个是在设置好layout之前执行的方法,第三个是在layout设置后执行的方法

方便的几个函数
<pre>findView,setToolBar,setTitle</pre>
第一个获取view,不需要强转,第二个设置toolbar,第三个设置title

<strong>UBaseActivity(快速开发直接继承使用,含有很多方法直接使用,快速开发必备):</strong>
UBaseActivity实现了我定义好的view接口,能够快速的进行弹alert,toast,加载loading。
提供多种方法:
<pre>toast,showAlert,loading,loadDialogDismiss,dialogOk,getActivityContext</pre>
demo代码(demo原来是一个大型项目的一小部分代码)
UBaseActivity的使用代码

public class MActivity extends UBaseActivity implements BaseFragment.OnBaseInteractionListener{

    private final static String PID = "PID";

    Integer pid;

    public static void start(Context context,Integer pid){
        Intent intent = new Intent();
        intent.putExtra(PID,pid);
        intent.setClass(context, MActivity.class);
        context.startActivity(intent);
    }

    @Override
    protected void startView(Bundle savedInstanceState) {

    }

    @Override
    protected int layoutViewId() {
        return R.layout.activity_tail;
    }

    @Override
    protected void initView(Bundle savedInstanceState) {
        super.initView(savedInstanceState);
        pid = getIntent().getIntExtra(PID,0);
        UToolBar uToolBar = new UToolBar();
        uToolBar.setNeedNavigate(true);
        uToolBar.setTitleString("详情页");
        setToolBar(R.id.toolbar,uToolBar);
        MFragment fragment = ActivityUtils.getFragment(getSupportFragmentManager(),R.id.agment, MFragment.newInstance(pid));
        new lPresenter(fragment, ProductRepository.getInstance());
    }

    @Override
    public void onRightButtonString(BaseFragment fragment, String str, View.OnClickListener onClickListener) {

    }

    @Override
    public void onTitleName(BaseFragment fragment, String title) {
        setTitle(title);
    }
}
打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP