组件化开发

1.怎么使用别人的library

1.复制

在这里插入图片描述

2.

在这里插入图片描述

3.添加

在这里插入图片描述
在这里插入图片描述

4.解决在android 模块不出现library问题

在这里插入图片描述

2.App与library相互转换

步骤:

1.添加如下代码,这里都是字符串

在这里插入图片描述

2.修改

在这里插入图片描述

3.添加一个AndroidManifest.xml

作用:根据是app还是library来选择要使用哪个。
在这里插入图片描述
修改为这样
在这里插入图片描述
然后在添加这段代码,用于用哪个AndroidManifest.xml
在这里插入图片描述

4.怎么修改为library或APP呢

在这里插入图片描述

5.将APP修改为library后怎么使用呢?

1.导入

在这里插入图片描述
找到我们的包,再添加进去app

2.修改

将主app的gradle.properties添加如下,就可以了
在这里插入图片描述

3.遇到的问题

1.library中的id不再是常量:

case R.id.xxx爆红

解决办法:

选择switch,alt+enter 转为if

2.switch要改为if

 @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.bt_share:
                if (mFile == null) {
                    Util.toast(mContext.getResources().getString(R.string.tip_save));
                    break;
                }
                Util.shareImage(mFile);
                break;
            case R.id.iv_preview:
                mView.startToolbarAnimator();
                break;
            case R.id.bt_save:
                if(!Util.checkPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
                    Util.requestPermissions(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE);
                    break;
                }
                if (mState != State.NONE) {
                    Util.toast(mContext.getResources().getString(R.string.saved));
                    break;
                }
                mState = State.SAVING;
                File file = Util.saveBitmap(mView.getPreviewBitmap(), Constants.PATH_DIR);
                mState = State.SAVED;
                if (file != null) {
                    mFile = file;
                    Util.toast(mContext.getResources().getString(R.string.succeed_save));
                } else {
                    Util.toast(mContext.getResources().getString(R.string.failed_save));
                }
                break;
        }
    }

改为if

 @Override
    public void onClick(View v) {
        int id = v.getId();
        if (id == R.id.bt_share) {
            if (mFile == null) {
                Util.toast(mContext.getResources().getString(R.string.tip_save));
                return;
            }
            Util.shareImage(mFile);
        } else if (id == R.id.iv_preview) {
            mView.startToolbarAnimator();
        } else if (id == R.id.bt_save) {
            if (!Util.checkPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
                Util.requestPermissions(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE);
                return;
            }
            if (mState != State.NONE) {
                Util.toast(mContext.getResources().getString(R.string.saved));
                return;
            }
            mState = State.SAVING;
            File file = Util.saveBitmap(mView.getPreviewBitmap(), Constants.PATH_DIR);
            mState = State.SAVED;
            if (file != null) {
                mFile = file;
                Util.toast(mContext.getResources().getString(R.string.succeed_save));
            } else {
                Util.toast(mContext.getResources().getString(R.string.failed_save));
            }
        }
    }

3.build.gradle 要保持一致

不然会很难受,各种未知的错误

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值