Android 在线生成二维码和条形码,支持扫描和6.0以上权限适配

本文介绍如何在Android应用中实现在线生成二维码和条形码,并且包括扫描功能以及对Android 6.0以上权限的适配。提供MainActivity.java关键代码段,XML布局文件和build.gradle配置。生成的二维码和条形码图片可以被正确扫描识别。源代码已上传至GitHub,无需积分即可获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目要根据后台传递的string字符串等生成相应的条形码,供客户条码扫描枪机进行扫描识别.

以下是自己写的代码,已实现上述功能,代码仅供参考:

MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private static final String TAG = "MainActivity";
    private             int    REQUEST_CODE_SCAN = 111;
    /**
     * 将要生成二维码的内容
     */
    private EditText  codeEdit;
    /**
     * 生成二维码代码
     */
    private Button    twoCodeBtn;
    /**
     * 用于展示生成二维码的imageView
     */
    private ImageView codeImg;
    /**
     * 生成一维码按钮 scanner
     */
    private Button    oneCodeBtn;
    /**
     * 二维码扫描
     */
    private Button    scannerBtn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        initView();
        setListener();
    }

    /**
     * 用于初始化界面展示的view
     */
    private void initView() {
        codeEdit = (EditText) findViewById(R.id.code_edittext);
        twoCodeBtn = (Button) findViewById(R.id.code_btn);
        oneCodeBtn = (Button) findViewById(R.id.btn_code);
        scannerBtn = (Button) findViewById(R.id.scanner);
        codeImg = (ImageView) findViewById(R.id.code_img);

    }


    /**
     * 设置生成二维码和扫描二维码的事件
     */
    private void setListener() {
        twoCodeBtn.setOnClickListener(this);
        oneCodeBtn.setOnClickListener(this);
        scannerBtn.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_code://一维码
                oneCodeCreate();
                break;
            case R.id.code_btn://二维码
                twoCodeCreate();
                break;
            case R.id.scanner:{
                AndPermission.with(this).permission(Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE).callback(new PermissionListener() {
                    @Override
                    public void onSucceed(int requestCode, @NonNull List<String> grantPermissions) {
                        Intent intent = new Intent(MainActivity.this, CaptureActivity.class);

                                /*ZxingConfig是配置类  可以设置是否显示底部布局,闪光灯,相册,是否播放提示音  震动等动能
                                * 也可以不传
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值