网站首页 > java教程 正文
1.二维码简介:
是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙的利用构成计算机内部逻辑基础的0和1比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理;二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息;二维码相对于条形码的优势就是省空间;
2.zxing简介:
zxing是一个开放源码的,用java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的接口。
zxing可以实现使用手机的内置的摄像头完成条形码和二维码的扫描与解码。
zxing可以实现条形码和二维码的编码与解码。
zxing目前支持的的格式如下:
UPC-A,UPC-E
EAN-8,EAN-13
39码
93码
代码128
QR码
3.实现步骤:
步骤一:
implementation 'cn.bingoogolapple:bga-qrcode-zxing:1.3.4'
步骤二:
布局里面加入一个ImageView控件,调整好大小
步骤三:
public class MainActivity extends Activity {
ImageView im1;
int w=40;
int h=40;
@Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Stringtemp="{\"UserName\":\"user1\",\"Id\":[\"23\",\"2\",\"73\"]}";
im1=(ImageView)findViewById(R.id.imageView2);
createQRcodeImage(temp);
}
public voidcreateQRcodeImage(String url)
{
try
{
//判断URL合法性
if (url == null ||"".equals(url) || url.length() < 1)
{
return;
}
Hashtable<EncodeHintType, String> hints = newHashtable<EncodeHintType, String>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
//图像数据转换,使用了矩阵转换
BitMatrixbitMatrix = new QRCodeWriter().encode(url, BarcodeFormat.QR_CODE, w, h, hints);
int[] pixels = newint[w * h];
//下面这里按照二维码的算法,逐个生成二维码的图片,
//两个for循环是图片横列扫描的结果
for (int y = 0; y < h; y++)
{
for (int x =0; x < w; x++)
{
if(bitMatrix.get(x, y))
{
pixels[y * w + x] = 0xff000000;
}
else
{
pixels[y * w + x] = 0xffffffff;
}
}
}
//生成二维码图片的格式,使用ARGB_8888
Bitmap bitmap =Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels, 0, w, 0, 0, w, h);
//显示到我们的ImageView上面
im1.setImageBitmap(bitmap);
}
catch (WriterExceptione)
{
e.printStackTrace();
}
}
}
效果如下图:
猜你喜欢
- 2024-09-27 运维干货来啦:Jenkins+gradlew自动构建android项目提供下载链接和二维码下载
- 2024-09-27 基于 Spring Boot 和 WxJava 实现网站接入微信扫码登录
- 2024-09-27 基于token的多平台身份认证架构设计
- 2024-09-27 在线二维码生成器有哪些?微信二维码转换成链接如何实现?
- 2024-09-27 扫二维码提货系统自己建,系统搭建与操作指南分享
- 2024-09-27 PDF文件添加二维码水印(pdf二维码怎么弄出来扫码)
- 2024-09-27 掏出手机,扫一扫,即刻登录——SpringBoot实现二维码扫码登录
- 2024-09-27 短连接生成器有哪些?制作二维码生成器有哪些?
- 2024-09-27 慕课网Java相关课程学习项目源码,以及源码地址
- 2024-09-27 二维码扫描优化(微信二维码优化)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)