大卫博士 Android App

C_A 186d02f1a9 no message 1 年之前
app c703b93efa no message 1 年之前
gradle abac9c6192 no message 2 年之前
library a076e2f687 no message 2 年之前
.gitignore 88fc32b34b no message 2 年之前
README.md 9a9c05cd7b 加入 reamd 文档 2 年之前
build.gradle abac9c6192 no message 2 年之前
common.gradle c703b93efa no message 1 年之前
configs.gradle 186d02f1a9 no message 1 年之前
gradle.properties a5fd26760d no message 2 年之前
gradlew 3ff6d7c0c4 搭建框架 3 年之前
gradlew.bat 3ff6d7c0c4 搭建框架 3 年之前
hs_err_pid26308.log 3b5e1ae8e1 no message 3 年之前
maven.gradle 3ff6d7c0c4 搭建框架 3 年之前
settings.gradle ee53c125f9 no message 2 年之前

README.md

//----------------------------------- 全局封装好的 刷新加载  可以直接 复制-----------------------------------------------------//

 getSrl(R.id.srl_layout).setOnLoadMoreListener(this::OnLoadMoreListener);
 getSrl(R.id.srl_layout).setOnRefreshListener(this::OnRefreshListener);
 mConAdapter.setOnItemClickListener(this::OnItemClickListener);

protected void initData() {

    String mPosition = getString(ConstantUtils.Bundle.Position);

    mApi = new ItemPageListItemApi();
    mApi.setPageNum(1);
    mApi.setPageSize(20);
    mApi.setIdCategory(StringUtils.equals("0", mPosition) ? "" : mPosition);

    showLoading();
    getSrl(R.id.srl_layout).autoRefresh();
}


/** 重试 */
private void OnRetryListener(StatusLayout statusLayout) {
    showLoading();
    getSrl(R.id.srl_layout).autoRefresh();
}

/** 刷新 */77
private void OnRefreshListener(RefreshLayout refreshLayout) {
    mApi.setPageNum(1);
    httpData();
}

/** 加载 */
private void OnLoadMoreListener(RefreshLayout refreshLayout) {
    httpData();
}


/** http */
private void httpData() {

    EasyHttp.get(this).api(mApi).request(new HttpCallback<HttpListData<ShopBean>>(this) {
        @Override
        public void onSucceed(HttpListData<ShopBean> result) {
            super.onSucceed(result);

            ArrayList<ShopBean> data = result.getBody().getData();

            if (data.isEmpty()) {
                showEmpty();
                getSrl(R.id.srl_layout).finishRefresh();
                getSta(R.id.sta_layout).setOnRetryListener(ShopAllActivity.this::OnRetryListener);
                return;
            }

            showComplete();

            if (getSrl(R.id.srl_layout).getState() == RefreshState.Refreshing) {
                mConAdapter.setNewInstance(data);
                getSrl(R.id.srl_layout).finishRefresh();
            }

            if (getSrl(R.id.srl_layout).getState() == RefreshState.Loading) {
                mConAdapter.addData(data);
                getSrl(R.id.srl_layout).finishLoadMore();
            }

            if (data.size() < mApi.getPageSize()) {
                getSrl(R.id.srl_layout).finishLoadMoreWithNoMoreData();
            } else {
                mApi.setPageNum(mApi.getPageNum() + 1);
            }

        }
    });
}
text


//-----------------------------------刷新加载-----------------------------------------------------//

//圆形 
GlideApp.with(getContentView().getContext()).load(httpUrl).placeholder(placeholder).error(error).into(imageView);
//圆角
GlideApp.with(getContentView().getContext()).load(httpUrl)
      .transform(new MultiTransformation<>(new CenterCrop(), new RoundedCorners((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, imageView.getContext().getResources().getDisplayMetrics()))))
      .into(imageView);


// 工具类:https://github.com/Blankj/AndroidUtilCode
implementation 'com.blankj:utilcodex:1.30.6'

//LiveBus: https://github.com/JeremyLiao/LiveEventBus
implementation 'io.github.jeremyliao:live-event-bus-x:1.8.0'

图片视频选择器详细用法 github https:github.com/wildma/PictureSelector

lombok: 插件注解用法  https://juejin.cn/post/6844903557016076302

需要安装的插件 
Android Parcelable code generator
GoogleLibraryVersionQuerier
GsonFormatPlus
Lombok

action 包中 包含所需要的注入 Actigon 可提供相应的个功能 实例化后可以直接使用
aop 包中 包含所需要的 注入插件 例如拦截器 日志 权限 点击  可根据不同需要加入自己所需要的插件

build.gradle 是包含 所有配置信息 三方库 对应的有啥库地址 打开可查看

common.gradle 统一配置库 libary 共用 详见内容

configs.gradle config配置文件

框架要求详情看 AppActivity AppFragment 每个文件代码都有注解