5_4-手机开播场景-文档管理

1 功能概述

文档管理模块包括选择PPT文档、上传&删除PPT文档、查看PPT每页详情等功能。文档管理是一个弹层页面,整个界面被封装在PLVLSPptListLayout中。

2 使用演示

文档管理是一个弹层页面,跟一般直接写进xml的布局不同,使用弹层页面只需要创建弹层对象,并调用open()方法即可显示弹层。

// PLVLSStatusBarLayout.java
private void initView() {
    // 创建了文档管理弹层页面
    pptListLayout = new PLVLSPptListLayout(getContext());
}

private void processSelectDocument() {
    if (pptListLayout != null) {
        // 点击状态栏上面的文档图标时,调用open打开文档管理弹层
        pptListLayout.open();
    }
}

3 实现介绍

3.1 文档展示部分

文档展示包括两种列表的展示,分别是显示PPT封面的所有文档列表PLVLSPptViewType.COVER,显示PPT每页详情的文档详情列表PLVLSPptViewType.PAGE。这两种列表使用同一个RecyclerView和Adapter展示,通过给Adapter设置不同的viewType来区分。

下面代码展示如何获得所有PPT文档列表的数据,并设置给Adapter进行列表显示。

在异步请求获取到文档列表数据后,Presenter会将文档列表数据回调给视图。

在方法processPptCoverList()中,会对文档数据进行解析,并转换为视图对象PLVLSPptVO,将视图对象列表传给Adapter即可展示文档列表。

3.2 文档上传删除部分

文档删除通过调用Presenter的deleteDocument()方法实现。

文档上传部分较为复杂,涉及到9种文档上传状态(见枚举PLVPptUploadStatus)的监听,本地文档上传状态缓存,文档上传失败状态的处理等。具体的文档上传实现细节见PLVLSPptListLayout类的代码块初始化方法 - 文档上传状态相关回调设置

Last updated

Was this helpful?