libzxing二维码简单实用步骤

libzxing架包的使用方法

1、首先导入model架包libzxing
2、在settings.gradle手动添加————–,’:libzxing’并运行



public interface ILoginActivityCallback {
    void succeed(String userInfo);

    void Faild(String error);
}


public class MUtils {
    boolean success =false ;
    public void login(String user, String password,IModelLoginCallback callback) {
        //去登陆
        /**
         * 省略1000行
         */
        if(success=true){
            //告诉用户成功了
            callback.succeed("登陆成功我是用户信息");
        }else{
            //告诉用户失败
            callback.Faild("用户密码错误");
        }
    }


     interface IModelLoginCallback {
        void succeed(String userInfo);

        void Faild(String error);
    }
}

public class PUtils {
    public void login(String user, String password) {
        MUtils mUtils = new MUtils();
        mUtils.login(user, password, new MUtils.IModelLoginCallback() {
            @Override
            public void succeed(String userInfo) {
                //告诉用户成功了
                mCallback.succeed("登陆成功我是用户信息");
            }

            @Override
            public void Faild(String error) {
//告诉用户失败
                mCallback.Faild("用户密码错误");
            }
        });
    }

    ILoginActivityCallback mCallback;
    public void setILoginCallback(ILoginActivityCallback callback){
        mCallback=callback;
    }
}

扫描的方法

if (ContextCompat.checkSelfPermission(Main3Activity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
                    // 申请CAMERA权限
                    ActivityCompat.requestPermissions(Main3Activity.this, new String[]{Manifest.permission.CAMERA}, 1);
                } else {
                    //跳转到zxing的扫描页面
                    // 打开扫描界面扫描条形码或二维码
                    Intent openCameraIntent = new Intent(Main3Activity.this, CaptureActivity.class);
                    startActivityForResult(openCameraIntent, 0);
                }

生成二维码的方法

 //1读et的内容 2生成bitmap 3设置给iv
                String contentString = mEdittext.getText().toString();
                if (!TextUtils.isEmpty(contentString)) {
                    // 根据字符串生成二维码图片并显示在界面上,第二个参数为图片的大小(350*350)
                    Bitmap qrCodeBitmap = EncodingUtils.createQRCode(contentString, 350, 350, checkBox.isChecked() ? BitmapFactory.decodeResource(getResources(), R.drawable.umeng_socialize_qq) : null);
                    mImgshengcheng.setImageBitmap(qrCodeBitmap);
                } else {
                    Toast.makeText(Main3Activity.this, "Text can not be empty", Toast.LENGTH_SHORT).show();
                }

接口回调

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        //接受zixing扫描页面的字符串扫描结果
        if (resultCode == RESULT_OK) {
            Bundle bundle = data.getExtras();
            String scanResult = bundle.getString("result");
            mFanhuierweima.setText(scanResult);
        }

//用户是否同意权限的回调

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        //如果同意直接打开相机
        //跳转到zxing的扫描页面
        // 打开扫描界面扫描条形码或二维码
        Intent openCameraIntent = new Intent(Main3Activity.this, CaptureActivity.class);
        startActivityForResult(openCameraIntent, 0);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值