android 解析、生成二维码

(1)ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android。

下面我们使用的是整理过,只对android有用,库就小了好多

(2)下载第三方库,导库

下载:http://download.csdn.net/detail/u012255016/9488437

复制类库到工程下:注释 testComplie

导库:android studio - File --> Project Structure --> app --> Dependencies -->  +  --> Module dependency


解析:

(3)调用CaptureActivity扫描二维码

//创建intent意图,CaptureActivity是库封装好的,前人种树,我们后人直接用就好了
Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
//使用带返回结果的启动模式启动意图,注意记得重写onActivityResult方法
startActivityForResult(intent,411);

(4)重写onActivityResult接收结果

//重写方法,获取返回数据@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode == RESULT_OK && requestCode == 411){//在data获取二维码内容String content = data.getExtras().getString("result");//设置结果展示 或其他操作mSweepResult.setText(content);}}

(5)使用草料二维码测试:http://cli.im/text

生成:

(6)调用 EncodingUtils.createQRCode 创建二维码

  //获取生成二维码内容String createText = mEditText.getText().toString().trim();//判断内容是否为空if (TextUtils.isEmpty(createText)){Toast.makeText(MainActivity.this,"内容不能为空",Toast.LENGTH_SHORT).show();return;}//使用EncodingUtils创建二维码,如果二维码中心需要logo,则第四个参数需设置,否则为nullBitmap bitmap = EncodingUtils.createQRCode(createText,400,400,null);//设置结果展示 或其他操作mCreateImg.setImageBitmap(bitmap);

附录:

布局文件:

<LinearLayout 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"android:orientation="vertical"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity"><Buttonandroid:id="@+id/id_sweep"android:layout_width="match_parent"android:layout_height="40dp"android:text="扫描二维码" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="二维码扫描结果:" /><TextViewandroid:id="@+id/id_sweep_result"android:layout_width="match_parent"android:layout_height="40dp" /><EditTextandroid:id="@+id/id_qrcontent"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:hint="请输入需要生成二维码的内容" /><Buttonandroid:id="@+id/id_create"android:layout_width="match_parent"android:layout_height="40dp"android:text="生成二维码" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="结果:" /><ImageViewandroid:id="@+id/id_img"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal" /></LinearLayout>

实现代码:

public class MainActivity extends Activity implements View.OnClickListener{private TextView mSweepResult;private EditText mEditText;private ImageView mCreateImg;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}/*** 初始化*/private void initView() {mSweepResult = (TextView) findViewById(R.id.id_sweep_result);mEditText = (EditText) findViewById(R.id.id_qrcontent);mCreateImg = (ImageView) findViewById(R.id.id_img);findViewById(R.id.id_sweep).setOnClickListener(this);findViewById(R.id.id_create).setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()){case R.id.id_sweep://扫描二维码//创建intent意图,CaptureActivity是库封装好的,前人种树,我们后人直接用就好了Intent intent = new Intent(MainActivity.this, CaptureActivity.class);//使用带返回结果的启动模式启动意图,注意记得重写onActivityResult方法startActivityForResult(intent,411);break;case R.id.id_create://生成二维码//获取生成二维码内容String createText = mEditText.getText().toString().trim();//判断内容是否为空if (TextUtils.isEmpty(createText)){Toast.makeText(MainActivity.this,"内容不能为空",Toast.LENGTH_SHORT).show();return;}//使用EncodingUtils创建二维码,如果二维码中心需要logo,则第四个参数需设置,否则为nullBitmap bitmap = EncodingUtils.createQRCode(createText,400,400,null);//设置结果展示 或其他操作mCreateImg.setImageBitmap(bitmap);break;}}//重写方法,获取返回数据@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode == RESULT_OK && requestCode == 411){//在data获取二维码内容String content = data.getExtras().getString("result");//设置结果展示 或其他操作mSweepResult.setText(content);}}
}

android 解析、生成二维码相关推荐

  1. 基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能

    NextQRCode ZXing开源库的精简版 **基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能 原文博客 附源码下载地址** 与原ZXingMini项目对比 N ...

  2. Android Studio生成二维码

    Android Studio生成二维码 第一步 导入依赖 第二步 在清单文件里加权限 第三步 初始化 第四步 在清单文件里进行调用 第五步 在MainActivity 第六步 建一个管理类 第七步 新 ...

  3. Java解析生成二维码-log

    Java解析生成二维码 1.pom.xml依赖 <!-- 引入二维码相关的依赖--><dependency><groupId>com.google.zxing< ...

  4. Android Studio 生成二维码、生成带logo的二维码

    1.生成二维码: 2.生成logo的二维码: 一.引入依赖 首先在libs文件目录下放进jar包zxing.jar,要下载zxing.jar就点击链接:下载zxing.jar(记得点击"Cd ...

  5. Android 简单生成二维码名片

    二维码名片是现在很常见的,这里只是一个简单生成二维码,如果对二维码名片的内容没有过多的要求,可以借鉴一下.生成二维码用的是谷歌的Zxing库,关于扫码,这里就不多说了. zxing下载地址:http: ...

  6. 条形码、二维码扫一扫和生成二维码采用ZXing3.0开源库在android studio中实现

    在开始之前先给各位上个运行效果图 二维码QRcode全称Quick Response Code 通过在一个矩形区域内使用黑白像素来进行编码 高纠错性.高可用性.高识别性 四周面有3个大的方框和一个小的 ...

  7. Android 点击生成二维码

    先看效果: 输入内容,点击生成二维码: 点击logo图案: 代码: QRCodeUtil: package com.example.administrator.zxing;import android ...

  8. zxing生成二维码及解析二维码

    ZXing生成二维码 1.下载jar https://github.com/ZF520/QRCode/raw/master/zxing/bin/lib/zxing3.3.1.jar 2.生成二维码的函 ...

  9. 直播视频app源码,Android 点击生成二维码

    直播视频app源码,Android 点击生成二维码实现的相关代码 activity.xml代码如下: <?xml version="1.0" encoding="u ...

最新文章

  1. 利用Kafka和Cassandra构建实时异常检测实验
  2. 推荐2个命令快速在本地和服务器之间上传下载文件
  3. zsh:no matches found 问题解决
  4. java css_JavaWeb中基本的CSS的使用
  5. Linux删除文件和文件夹【命令】
  6. Web前端——HTML
  7. PHP 判断点是否在多边形内
  8. c++之友元函数和友元类
  9. 360n7手机断网没信号_你的手机信号为什么总比别人差?原因没那么简单
  10. 基于android p的miui,小米8青春版终于迎来基于AndroidP的MIUI10系统,米粉欢呼
  11. linux eclipse安装使用教程
  12. 鸿蒙试炼多少可以单挑,知己知彼《灭神》单挑虚无之地大BOSS
  13. 解决video标签在部分安卓默认浏览器上的播放样式问题
  14. 雅居乐万豪酒店java_“万豪,我心所属之地” | 上海雅居乐万豪酒店Terence Sun的实习故事...
  15. 互联网日报 | 6月20日 星期日 | 宁德时代否认强制员工购买特斯拉;小米618支付金额破190亿元;岚图FREE正式上市...
  16. could not resolve dependency: npm err! peer react@“^16.8.0 || ^17.0.0“ from @material-ui/core@4.12.4
  17. 话题中的Publisher和Subscriber
  18. Faster R-CNN论文翻译笔记
  19. cf 678E - Another Sith Tournament 【状压dp】
  20. Arduino与无源蜂鸣器

热门文章

  1. 小程序ios时间格式 yyyy/MM/dd
  2. 软件测试秋招技术面试(面经)
  3. Android 模拟器如何安装apk以及如何解决无法安装的问题
  4. SU插件情报局 | TT-Truebend (真实弯曲) 详细中文介绍
  5. linux shell什么意思,Linux Shell是什么?
  6. linux中sbin下的是什么文件,Linux中 /sbin目录的作用是什么?
  7. DR/BDR的选举规则?
  8. 【前端】小程序日历控件分享
  9. android 三段式加密,国密算法技术安全芯:海信推出全新金盾手机,7月7日预约...
  10. 十大排序--冒泡排序