QR Code Encoder

Source: Internet
Author: User

1. lib:http://www.swetake.com/qr/index-e.html

(Qrcode_java0.50beta10.tar\qrcode_java0.50beta10\qrcode_java0.50beta10\lib\qrcode.jar)

2. Code:

Package Com.qrcode.encoder.qrcodeencoder;import Java.io.unsupportedencodingexception;import android.app.Activity; Import Android.graphics.canvas;import Android.graphics.color;import Android.graphics.paint;import Android.graphics.rect;import Android.os.bundle;import Android.util.displaymetrics;import Android.util.Log;import Android.view.surfaceholder;import Android.view.surfaceview;import Android.view.view;import Android.view.view.onclicklistener;import Android.widget.button;import Android.widget.edittext;import Com.swetake.util.qrcode;public class Mainactivity extends Activity implements Surfaceholder.callback{private final static String TAG = "QRCode";p rivate surfaceview msurfaceview;private surfaceholder msurfaceholder;private EditText Metinput;private Button mbtnencode; @Overrideprotected void OnCreate (Bundle savedinstancestate) {super.oncreate ( Savedinstancestate); Setcontentview (R.layout.activity_main); LOG.E (TAG, "onCreate");D isplaymetrics mdisplaymetrics = new Displaymetrics (); GetwinDowmanager (). Getdefaultdisplay (). Getmetrics (mdisplaymetrics); Msurfaceview = (Surfaceview) findViewById (R.id.sv_ QRCode); msurfaceholder = Msurfaceview.getholder (); Msurfaceholder.addcallback (this); metinput = (EditText) Findviewbyid (r.id.et_input); Mbtnencode = (Button) Findviewbyid (R.id.btn_encode); Mbtnencode.setonclicklistener (new Onclicklistener () {@Overridepublic void OnClick (View arg0) {log.e (TAG, "Mbtnencode OnClick"); ENCODEQR ( Metinput.gettext (). toString (), 7);}}); protected void Encodeqr (String str, int version) {LOG.E (TAG, "ENCODEQR"); QRCode Mqrcode = new QRCode (); Mqrcode.setqrcodeerrorcorrect (' M '); Mqrcode.setqrcodeencodemode (' B '); Mqrcode.setqrcodeversion (version); try {byte[] bytesencoding = str.getbytes ("Utf-8"); if (bytesencoding.length>0 && bytesencoding.length<120) {boolean[][] bencoding = Mqrcode.calqrcode (bytesencoding);d Rawqrcode ( Bencoding, Color.Black);}} catch (Unsupportedencodingexception e) {e.printstacktrace ();}} private void Drawqrcode (boolean[][] brect, int colorFill) {LOG.E (TAG, "Drawqrcode"); int mpadding = 40;int Mlength = 20; Canvas Mcanvas = Msurfaceholder.lockcanvas (); Mcanvas.drawcolor (Color.White); Paint Mpaint = new paint (); Mpaint.setstyle (Paint.Style.FILL); Mpaint.setcolor (Colorfill); Mpaint.setstrokewidth (1.0F ); for (int i=0;i<brect.length;i++) {for (int j=0;j<brect.length;j++) {if (Brect[j][i]) {mcanvas.drawrect (new Rect (mpadding+j*mlength,mpadding+i*mlength,mpadding+j*mlength+mlength,mpadding+i*mlength+mlength), mPaint);}}} Msurfaceholder.unlockcanvasandpost (Mcanvas);} @Overridepublic void surfacechanged (Surfaceholder arg0, int arg1, int arg2, int arg3) {log.e (TAG, "surfacechanged");} @Overridepublic void surfacecreated (Surfaceholder arg0) {log.e (TAG, "surfacecreated");} @Overridepublic void surfacedestroyed (Surfaceholder arg0) {log.e (TAG, "surfacedestroyed");}}

Layout:

<relativelayout xmlns:android= "http://schemas.android.com/apk/res/android" xmlns:tools= "http// Schemas.android.com/tools "android:layout_width=" match_parent "android:layout_height=" Match_parent "Tools:context = "${relativepackage}.${activityclass}" > <edittext android:id= "@+id/et_input" android:layout_alignparenttop = "true" android:layout_width= "Match_parent" android:layout_height= "wrap_content" android:text= "/&gt            ; <surfaceview android:id= "@+id/sv_qrcode" android:layout_below= "@id/et_input" android:layout_centerhorizontal= " True "android:layout_centervertical=" true "android:layout_width=" Wrap_content "android:layout_height=" Wra P_content "/> <button android:id=" @+id/btn_encode "android:layout_width=" Wrap_content "a ndroid:layout_height= "Wrap_content" android:layout_alignparentbottom= "true" android:layout_centerhorizontal= "True" android:text= "@strIng/encode "/></relativelayout> 

Manifest:

<?xml version= "1.0" encoding= "Utf-8"? ><manifest xmlns:android= "http://schemas.android.com/apk/res/ Android "    package=" Com.qrcode.encoder.qrcodeencoder "    android:versioncode=" 1 "    android:versionname=" 1.0 ">    <uses-sdk        android:minsdkversion=" 8 "        android:targetsdkversion="/>    < Application        android:allowbackup= "true"        android:icon= "@drawable/ic_launcher"        android:label= "@string /app_name ">        <activity            android:name=". Mainactivity "            android:label=" @string/app_name ">            <intent-filter>                <action android:name = "Android.intent.action.MAIN"/>                <category android:name= "Android.intent.category.LAUNCHER"/>            </intent-filter>        </activity>    </application></manifest>


QR Code Encoder

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.