Android中怎么利用zxing生成二维码(android,zxing,编程语言)

时间:2024-05-04 12:26:37 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

二维码生成原理(即工作原理)

二维码官方叫版本Version。Version 1是21 x 21的矩阵,Version 2是 25 x 25的矩阵,Version 3是29的尺寸,每增加一个version,就会增加4的尺寸,公式是:(V-1)*4 + 21(V是版本号) 最高Version 40,(40-1)*4+21 = 177,所以最高是177 x 177 的正方形。

下面是一个二维码的样例:

Android中怎么利用zxing生成二维码

效果图如下:

Android中怎么利用zxing生成二维码

前提:

导入 zxing 的 jar 后开始操作,老规矩最后有源码,作者布局默认相对布局。

第一步:定义二维码的长宽高及图片控件

Android中怎么利用zxing生成二维码

第二步:实例化 QRCodeWriter 后利用 for 循环将二维码画出来,然后用图片控件加载图片。

Android中怎么利用zxing生成二维码

源码如下:

布局文件:**

<Buttonandroid:id="@+id/mybutton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginTop="0dp"android:text="点击显示二维码"android:textSize="20sp"/><ImageViewandroid:id="@+id/imageView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_marginBottom="192dp"android:src="@drawable/ic_launcher_background"/><EditTextandroid:id="@+id/myeditText"android:layout_width="300dp"android:maxLines="1"android:layout_height="wrap_content"android:layout_below="@+id/mybutton"android:layout_centerHorizontal="true"android:ems="10"android:hint="请输入要加载成二维码的内容"/>

java 文件:

publicclassMainActivityextendsActivityimplementsView.OnClickListener{privateintwidth=300;privateintheight=300;privateImageViewimageView;privateBitmapbit;privateButtonmybutton;privateEditTextmyeditText;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}privatevoidinitView(){imageView=(ImageView)findViewById(R.id.imageView);mybutton=(Button)findViewById(R.id.mybutton);mybutton.setOnClickListener(this);myeditText=(EditText)findViewById(R.id.myeditText);myeditText.setOnClickListener(this);}@OverridepublicvoidonClick(Viewv){switch(v.getId()){caseR.id.mybutton:Stringname=myeditText.getText().toString();if(name.equals("")){myeditText.setError("请输入内容");}else{zxing(name);}break;}}privatevoidzxing(Stringname){QRCodeWriterqrCodeWriter=newQRCodeWriter();Map<EncodeHintType,String>hints=newHashMap<>();hints.put(EncodeHintType.CHARACTER_SET,"utf-8");//记得要自定义长宽BitMatrixencode=null;try{encode=qrCodeWriter.encode(name,BarcodeFormat.QR_CODE,width,height,hints);}catch(WriterExceptione){e.printStackTrace();}int[]colors=newint[width*height];//利用for循环将要表示的信息写出来for(inti=0;i<width;i++){for(intj=0;j<height;j++){if(encode.get(i,j)){colors[i*width+j]=Color.BLACK;}else{colors[i*width+j]=Color.WHITE;}}}bit=Bitmap.createBitmap(colors,width,height,Bitmap.Config.RGB_565);imageView.setImageBitmap(bit);}}
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Android中怎么利用zxing生成二维码的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Android怎么实现ListView中item部分区域添加点击事件功能下一篇:

12 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18