玩玩二维码扫描与制作

二维码如今非常流行,QQ,微信,支付宝几乎都有二维码扫描功能。所以,作为Android工程师,有必要掌握它吧。其实,如果纯自己写二维码功能的话相当复杂,幸好有一些优秀的第三方开源类库,今天我用的是非常流行的Zxing类库。这里我提供一个下载地址,Zxing第三方库
笔者第一次使用第三方类库,特别激动。感觉很高大上的东东,至少我是 这么认为的! 废话不多说,干!
先展示下工程目录:
先展示下工程目录

代码如下:

public class MainActivity extends AppCompatActivity {
    private static final int REQUEST_CODE = 0;
    //用来展示扫描出来的内容
    private TextView mTextView;
    //生成二维码的图片
    private ImageView mImageView;
    //用户输入的内容
    private EditText mEditText;
    //是否添加二维码中间的Logo图标
    private CheckBox mCheckBox;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mTextView = (TextView) findViewById(R.id.textView);
        mImageView = (ImageView) findViewById(R.id.imageView);
        mEditText = (EditText) findViewById(R.id.editText);
        mCheckBox = (CheckBox) findViewById(R.id.checkBox);
    }

    //打开二维码
    public void click(View view) {
        startActivityForResult(new Intent(MainActivity.this, CaptureActivity.class), REQUEST_CODE);
    }
   //制作二维码
    public void make(View view) {
        //拿到内容
        String text = mEditText.getText().toString();
        if (text == null) {
            Toast.makeText(this, "你没有输入内容", Toast.LENGTH_LONG).show();
        } else {
            //第一个参数:内容;第二个,第三个参数:二维码的宽高;第四个参数:Logo图片
            Bitmap bitmap = EncodingUtils.createQRCode(text, 500, 500, mCheckBox.isChecked() ? BitmapFactory.decodeResource(getResources(), R.drawable.logo) :
                    null);
            mImageView.setImageBitmap(bitmap);
        }

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            Bundle bundle = data.getExtras();
            String result = bundle.getString("result");
            mTextView.setText(result);

        }
    }
}

好了,代码写完了,一起来看一下效果吧!
这里写图片描述

ps:如果大家有看不懂的地方可以留言,或者推荐一套视频,Android动感系列扫一扫大牛徐宜生录制,我崇拜的偶像!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值