android扫描代码
发布日期:2021-05-14 05:41:42 浏览次数:15 分类:精选文章

本文共 5982 字,大约阅读时间需要 19 分钟。

������ZXing��������������������������������� Android ������������

������������������������������inning���������������������������������������Android���������������������������ZXing��������������������������������������������������������������������������������������������������������� ZXing ���������������������������������������������������������������������������

������������

  • ������ ZXing ���

    ��������������� ZXing ������������������������������������������������������ ZXing ��������������������������������������������������������� build.gradle ������������

    compile 'com.google.zxing:zxing:[$ZXING_VERSION$]'
    compile 'com.google.zxing:zxing.AddParameter:[$ZXING_VERSION$]'
    compile 'com.google.zxing:zxing.encoding:[$ZXING_VERSION$]'
  • ������ CaptureActivity

    CaptureActivity ��� ZXing ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

  • ������ BarCodeTestActivity

    ������������������������������

    public class BarCodeTestActivity extends Activity {
    private TextView resultTextView;
    private EditText qrStrEditText;
    private ImageView qrImgImageView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    resultTextView = (TextView) findViewById(R.id.tv_scan_result);
    qrStrEditText = (EditText) findViewById(R.id.et_qr_string);
    qrImgImageView = (ImageView) findViewById(R.id.iv_qr_image);
    Button scanBarCodeButton = (Button) findViewById(R.id.btn_scan_barcode);
    scanBarCodeButton.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    Intent openCameraIntent = new Intent(BarCodeTestActivity.this, CaptureActivity.class);
    startActivityForResult(openCameraIntent, 0);
    }
    });
    Button generateQRCodeButton = (Button) findViewById(R.id.btn_add_qrcode);
    generateQRCodeButton.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    try {
    String contentString = qrStrEditText.getText().toString();
    if (!contentString.isEmpty()) {
    Bitmap qrCodeBitmap = EncodingHandler.createQRCode(contentString, 350);
    qrImgImageView.setImageBitmap(qrCodeBitmap);
    } else {
    Toast.makeText(BarCodeTestActivity.this, "Text can not be empty", Toast.LENGTH_SHORT).show();
    }
    } catch (WriterException e) {
    e.printStackTrace();
    }
    }
    });
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK && requestCode == 0) {
    Bundle bundle = data.getExtras();
    String scanResult = bundle.getString("result");
    resultTextView.setText(scanResult);
    }
    }
    }
  • ������ MainActivity

    ���������������������������������������������������������������������������������������

    public class MainActivity extends Activity {
    private Button scanButton;
    private TextView text;
    private EditText input;
    private Button genButton;
    private ImageView img;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    scanButton = (Button) findViewById(R.id.scan);
    text = (TextView) findViewById(R.id.text);
    input = (EditText) findViewById(R.id.input);
    genButton = (Button) findViewById(R.id.gen);
    img = (ImageView) findViewById(R.id.img);
    scanButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View arg0) {
    Toast.makeText(MainActivity.this, "������������������������������������������", Toast.LENGTH_SHORT).show();
    Intent startScan = new Intent(MainActivity.this, CaptureActivity.class);
    startActivityForResult(startScan, 0);
    }
    });
    genButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View arg0) {
    String in = input.getText().toString();
    if (in.isEmpty()) {
    Toast.makeText(MainActivity.this, "���������������", Toast.LENGTH_SHORT).show();
    } else {
    try {
    Bitmap qrcode = EncodingHandler.createQRCode(in, 400);
    img.setImageBitmap(qrcode);
    } catch (WriterException e) {
    e.printStackTrace();
    }
    }
    }
    });
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
    String result = data.getExtras().getString("result");
    text.setText(result);
    }
    }
    }
  • ������ CaptureActivity

    ��� AndroidManifest.xml ������������������������

  • ������������

    ������������������������������

  • ������������

    • ZXing ������������������������������������ ZXing ������������������ Android SDK ���������������
    • UI ������������������������������������������������������������������ UI ���������
    • ���������������������������������������������������������������������������������������������

    ������

    ��������������������������������������������� ZXing ������ Android ������������������������������������������������������������������������������������������������������������������������������������������������������������������������

    上一篇:SQL Server XML数据解析
    下一篇:高效使用Python字典的清单

    发表评论

    最新留言

    表示我来过!
    [***.240.166.169]2025年04月28日 07时00分26秒