热门IT资讯网

Android第七期 - 二维码扫描与生成图

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,首先是MainActivity.java部分:package com.qrcode;import com.google.zxing.WriterException;import com.zxing.a

首先是MainActivity.java部分:

package com.qrcode;import com.google.zxing.WriterException;import com.zxing.activity.CaptureActivity;import com.zxing.encoding.EncodingHandler;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {        private TextView resultTextView;        private EditText qrStrEditText;        private ImageView qrImgImageView;            @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                resultTextView = (TextView) this.findViewById(R.id.tv_scan_result);        qrStrEditText = (EditText) this.findViewById(R.id.et_qr_string);        qrImgImageView = (ImageView) this.findViewById(R.id.iv_qr_p_w_picpath);                Button scanBarCodeButton = (Button) this.findViewById(R.id.btn_scan_barcode);        scanBarCodeButton.setOnClickListener(new OnClickListener() {                                                @Override                        public void onClick(View v) {                                                                        Intent openCameraIntent = new Intent(MainActivity.this,CaptureActivity.class);                                startActivityForResult(openCameraIntent, 0);                        }                });                Button generateQRCodeButton = (Button) this.findViewById(R.id.btn_add_qrcode);        generateQRCodeButton.setOnClickListener(new OnClickListener() {                                                @Override                        public void onClick(View v) {                                try {                                        String contentString = qrStrEditText.getText().toString();                                        if (!contentString.equals("")) {                                                                                                Bitmap qrCodeBitmap = EncodingHandler.createQRCode(contentString, 350);                                                qrImgImageView.setImageBitmap(qrCodeBitmap);                                        }else {                                                Toast.makeText(MainActivity.this, "Text can not be empty", Toast.LENGTH_SHORT).show();                                        }                                                                        } catch (WriterException e) {                                        // TODO Auto-generated catch block                                        e.printStackTrace();                                }                        }                });    }        @Override        protected void onActivityResult(int requestCode, int resultCode, Intent data) {                super.onActivityResult(requestCode, resultCode, data);                        if (resultCode == RESULT_OK) {                        Bundle bundle = data.getExtras();                        String scanResult = bundle.getString("result");                        resultTextView.setText(scanResult);                }        }}

下面就是构成拍摄页面的部分由于很多都是继承的代码,这里我就不粘贴了,给大家一个图看一下,下面放出整理后的代码。

最后别忘了给权限部分:

                                                                                                                                                     

效果图:


附件:http://down.51cto.com/data/2364587
0