文档章节

二维码的生成与解析

p
 passengers
发布于 2017/07/07 16:51
字数 542
阅读 4
收藏 0

二维码的生成与解析 首先需要先下载框架包和代码

Zxing里面是二维码的核心代码,下载完以后我们需要将core.jar导入到项目中,同时将zxing里面的代码复制到java里面:

复制完以后,注意改正zxing里面的错误信息(导包,记得要删除原来错误的引入包) 我们除了需要一个mainActivity之外,还需要写一个xml页面用来做照相机的调用,这个页面我们需要用到zxing里面的自定义控件: <SurfaceView android:id="@+id/preview_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" />

<zxing.view.ViewfinderView //如果是从实例代码中复制过来的,千万要记得改正它的路径 android:id="@+id/viewfinder_view" android:layout_width="wrap_content" android:layout_height="wrap_content" />

<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center" android:orientation="vertical" >

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerInParent="true"
    android:gravity="center"
    android:paddingBottom="10dp"
    android:paddingTop="10dp"
    android:text="扫描中……"
    android:textColor="[@android](https://my.oschina.net/asia):color/white"
    android:textSize="18sp"
    android:textStyle="bold" />

<Button
    android:id="@+id/btn_cancel_scan"
    android:layout_width="230dp"
    android:layout_height="40dp"
    android:layout_alignParentBottom="true"
    android:layout_centerInParent="true"
    android:layout_marginBottom="75dp"
    android:text="取消"
    android:textSize="15sp"
    android:textStyle="bold" />

</RelativeLayout>

二维码的生成,在点击事件里: public void onClick(View v) { try { String contentString = qrStrEditText.getText().toString(); if (!contentString.equals("")) {

        Bitmap qrCodeBitmap = EncodingHandler.createQRCode(contentString, 350);
        qrImgImageView.setImageBitmap(qrCodeBitmap);	//将生成的二维码放入Activity里面的ImageView控件里
    }else {
        Toast.makeText(MainActivity.this, "请输入想要生成二维码的值", Toast.LENGTH_SHORT).show();
    }

} catch (WriterException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

} 二维码的扫描与解析: public void onClick(View v) { Intent openCameraIntent = new Intent(MainActivity.this,CaptureActivity.class); startActivityForResult(openCameraIntent, 0);//直接调用zxing里面的页面 } 然后获取返回码(这个方法要写在onCreate外面): protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);

if (resultCode == RESULT_OK) {
    Bundle bundle = data.getExtras();
    String scanResult = bundle.getString("result");
    resultTextView.setText(scanResult);
}

} //获取返回码,将二维码解析出来的结果放入TextView控件中

最后,记得要加权限和设置清单文件---->

<uses-permission android:name="android.permission.VIBRATE" /> <!-- 震动权限 --> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <!-- 使用照相机权限 --> <uses-feature android:name="android.hardware.camera.autofocus" /> <!-- 自动聚焦权限 -->

由于在zxing里面已经有了一个Activity,所以我们要在清单文件里配置一下(加在application里面): <activity android:configChanges="orientation|keyboardHidden" android:name="zxing.activity.CaptureActivity" //千万要记得要配置好路径 android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden"></activity>

© 著作权归作者所有

共有 人打赏支持
p
粉丝 0
博文 7
码字总数 2822
作品 0
长沙
frogchou/FiwanQRCode

#FiwanQRCode ####飞网QR二维码生成器,用户可以通过这个工具生成QR码。面向开发人员,和经常接触使用各种二维码的人,这个工具能帮助开发二维码的人员生成各种格式二维码,包括png,jpg,b...

frogchou
2017/04/26
0
0
zxing生成解析二维码以及二维码生成解析的一个Android应用程序

二维码技术不是什么新技术了,但是这几天工作用到,然后才现学习现使用,使用的是Google的ZXing,使用起来很简单, 我练习的两种方式,一种的简单的javase工程,一种是Android客户端生成解析...

Mysoft
2015/11/13
0
0
[开源]C#二维码生成解析工具,可添加自定义Logo

  二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,...

雲霏霏
2015/03/04
0
0
Java利用Zxing生成二维码

Zxing是Google提供的关于条码(一维码、二维码)的解析工具,提供了二维码的生成与解析的方法。 1、二维码生成 try { String content = "http://www.oschina.net"; String path = "D:/testI...

_xiaotudou
2014/04/22
0
0
使用zxing工具包创建和解析二维码

关于二维码是什么,以及二维码是如何生成的,我也没有研究得很深入,就不多说了,以免误导大家。请参看: java 二维码原理以及用java实现的二维码的生成、解码 二维码的生成细节和原理 下面是...

摆渡者
2015/09/06
606
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式

自测: Q:何为代理模式? 代理是一种__或者__,控制对另一个对象的访问,而这些对象可能是__对象,______的对象,或者是对______的对象。 Q:那些角色及划分? 3个核心角色 角色一:____ 角...

阿元
19分钟前
0
0
面试经验

原文

火力全開
24分钟前
0
0
Kubernetes 教程(一) 环境安装并配置一个集群

Git<---------->jenkins docker<--------->kubernetes ?

MrPei
38分钟前
1
0
linux学习-0919

linux和windows互传文件 用户配置文件和密码配置文件 用户组管理 用户管理 一、linux和windows互传文件 linux和windows可以互相传输文件,但是需要使用xshell 并且安装lrzsz包: yum insta...

wxy丶
45分钟前
1
0
收集几个开源的微信小程序开发框架

1、 mpvue mpvue 是美团点评开源的一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小...

哥本哈根的小哥
51分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部