Android第七期 - 二维码扫描与生成图
首先是MainActivity.java部分:
packagecom.qrcode;importcom.google.zxing.WriterException;importcom.zxing.activity.CaptureActivity;importcom.zxing.encoding.EncodingHandler;importandroid.app.Activity;importandroid.content.Intent;importandroid.graphics.Bitmap;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.ImageView;importandroid.widget.TextView;importandroid.widget.Toast;publicclassMainActivityextendsActivity{privateTextViewresultTextView;privateEditTextqrStrEditText;privateImageViewqrImgImageView;@OverridepublicvoidonCreate(BundlesavedInstanceState){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);ButtonscanBarCodeButton=(Button)this.findViewById(R.id.btn_scan_barcode);scanBarCodeButton.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){IntentopenCameraIntent=newIntent(MainActivity.this,CaptureActivity.class);startActivityForResult(openCameraIntent,0);}});ButtongenerateQRCodeButton=(Button)this.findViewById(R.id.btn_add_qrcode);generateQRCodeButton.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){try{StringcontentString=qrStrEditText.getText().toString();if(!contentString.equals("")){BitmapqrCodeBitmap=EncodingHandler.createQRCode(contentString,350);qrImgImageView.setImageBitmap(qrCodeBitmap);}else{Toast.makeText(MainActivity.this,"Textcannotbeempty",Toast.LENGTH_SHORT).show();}}catch(WriterExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}});}@OverrideprotectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){super.onActivityResult(requestCode,resultCode,data);if(resultCode==RESULT_OK){Bundlebundle=data.getExtras();StringscanResult=bundle.getString("result");resultTextView.setText(scanResult);}}}
下面就是构成拍摄页面的部分由于很多都是继承的代码,这里我就不粘贴了,给大家一个图看一下,下面放出整理后的代码。
最后别忘了给权限部分:
<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="http://schemas.android.com/apk/res/android"package="com.qrcode"android:versionCode="1"android:versionName="1.0"><uses-sdkandroid:minSdkVersion="7"/><uses-permissionandroid:name="android.permission.VIBRATE"/><!--震动权限--><uses-permissionandroid:name="android.permission.CAMERA"/><uses-featureandroid:name="android.hardware.camera"/><!--使用照相机权限--><uses-featureandroid:name="android.hardware.camera.autofocus"/><!--自动聚焦权限--><applicationandroid:icon="@drawable/icon"android:label="@string/app_name"><activityandroid:name=".MainActivity"android:label="@string/app_name"><intent-filter><actionandroid:name="android.intent.action.MAIN"/><categoryandroid:name="android.intent.category.LAUNCHER"/></intent-filter></activity><!--隐藏键盘--><!--全屏--><activityandroid:configChanges="orientation|keyboardHidden"android:name="com.zxing.activity.CaptureActivity"android:screenOrientation="portrait"android:theme="@android:style/Theme.NoTitleBar.Fullscreen"android:windowSoftInputMode="stateAlwaysHidden"></activity></application></manifest>
效果图:
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。