Android使用zxing生成二维码
效果图如下:
前提:导入zxing的jar后开始操作,老规矩最后有源码,作者布局默认相对布局。
第一步:定义二维码的长宽高及图片控件
第二步:实例化QRCodeWriter后利用for循环将二维码画出来,然后用图片控件加载图片。
源码如下:
布局文件:
<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文件:
public class MainActivity extends Activity implements View.OnClickListener {private int width = 300;private int height = 300;private ImageView imageView;private Bitmap bit;private Button mybutton;private EditText myeditText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView() {imageView = (ImageView) findViewById(R.id.imageView);mybutton = (Button) findViewById(R.id.mybutton);mybutton.setOnClickListener(this);myeditText = (EditText) findViewById(R.id.myeditText);myeditText.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.mybutton:String name=myeditText.getText().toString();if(name.equals("")){myeditText.setError("请输入内容");}else{zxing(name);}break;}}private void zxing(String name){QRCodeWriter qrCodeWriter = new QRCodeWriter();Map<EncodeHintType, String> hints = new HashMap<>();hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); //记得要自定义长宽BitMatrix encode = null;try {encode = qrCodeWriter.encode(name, BarcodeFormat.QR_CODE, width, height, hints);} catch (WriterException e) {e.printStackTrace();}int[] colors = new int[width * height];//利用for循环将要表示的信息写出来for (int i = 0; i < width; i++) {for (int j = 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);}}
Android使用zxing生成二维码相关推荐
- Android利用zxing生成二维码
感谢大佬:https://blog.csdn.net/mountain_hua/article/details/80646089 **gayhub上的zxing可用于生成二维码,识别二维码 gayhu ...
- Android利用zxing生成二维码,识别二维码,中间填充图片超详细、超简易教程
gayhub上的zxing可用于生成二维码,识别二维码 gayhub地址:https://github.com/zxing/zxing 此文只是简易教程,文末附有完整代码和demo下载地址,进入正题: ...
- Android之ZXing扫描二维码以及生成二维码
Android之ZXing扫描二维码以及生成二维码 ZXIng项目地址:ZXing地址 项目结构 扫描二维码:使用 CaptureActivity类 项目代码: import android.cont ...
- (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果
场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...
- zxing生成二维码及解析二维码
ZXing生成二维码 1.下载jar https://github.com/ZF520/QRCode/raw/master/zxing/bin/lib/zxing3.3.1.jar 2.生成二维码的函 ...
- android 解析、生成二维码
android 解析.生成二维码 (1)ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码.目标是能够对QR编码.Data Matrix.UPC的1D条形码进行解码. 其提供了多种平台 ...
- ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果
首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老美开发的,barcode4j对一维条形码处理的很好,而且支持的格式很多,当然也可以对二维码进行处理,效果个人 ...
- Zxing生成二维码思路和源码解析
Zxing生成二维码思路和源码解析 本博文是一篇介绍google zxing包生成二维码的思路和它的源码的文章. 一.引入 如何调用zxing的代码生成一个二维码呢?主要的函数只有一个,如下所示: B ...
- 五十九、使用ZXing生成二维码
@Author:Runsen @Date:2020/7/12 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...
- 27.用zxing生成二维码
先在idea里面导入jar包 链接:https://pan.baidu.com/s/1UdorNg8o0A4FsElghqkJyw 提取码:c4bt 复制这段内容后打开百度网盘手机App,操作更方便哦 ...
最新文章
- 阿里云安装LNMP以及更改网站文件和MySQL数据目录
- delphi 获取4位的年份_原来华为手机拨号键盘这么厉害!除了能打电话,还有4个隐藏功能...
- java金钱千分位处理_java对金额的处理,保留两位小数、千分位符
- SgmlReader使用方法
- oracle 查表的用户名和密码,查看Oracle数据库中的所有用户名
- kubernetes apiserver认证 1
- [转]vim 如何编辑 GB2312 编码的文件?
- 高通模式9008模式linux,重磅干货!高通9008模式与数据提取
- 基于关系数据库彩票开奖模拟系统 的设计与实现
- VisualStudio运行的时候mian已在xxx中定义
- PADS逻辑系列含义
- 开源小程序CMS网站, JeeWx-App-CMS 1.0 首版本发布
- 计算机网络 --- 计算机网络和因特网
- 如何高效管理电脑里的文件
- android移动支付——微信支付
- UI 设计代码化:低代码式设计语言 —— Unflow
- 利用Python预测股票价格
- javascript之传智播客
- telnet远程登录AAA认证
- Linux防火墙配置
热门文章
- 计算机学win7画图,利用windows画图工具新功能,制作简易3D画图很简单了!-win7画图工具...
- vbscript for 转 php for,VBS教程:VBScript 基础-使用循环语句
- topaz滤镜 V1.31中文版
- 迅雷一些版本下载链接
- ubuntu 中的流程图绘制软件
- 铺捉factoryreset的事件 ---转载
- UitableView 动态高度的优化 提高寻星效率
- 浏览器的“心脏”——内核
- 东芝2510ac请求维修cd40_TOSHIBA东芝2510复印机维修资料
- C++最好的图形库是什么?