文档章节

二维码的生成与解析

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
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
[开源]C#二维码生成解析工具,可添加自定义Logo

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

雲霏霏
2015/03/04
0
0
zxing生成解析二维码以及二维码生成解析的一个Android应用程序

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

Mysoft
2015/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

新手也能看懂,消息队列其实很简单

该文已加入开源项目:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识的文档类项目,Star 数接近 16k)。地址:https://github.com/Snailclimb/JavaGuide. 本文内容思维导图: 消息...

阿里云官方博客
38分钟前
5
0
如何在Chrome浏览器中启动deviceready事件(尝试调试phonegap项目)?

我正在开发PhoneGap应用程序,我希望能够在Chrome中调试它,而不是在电话上调试。但是,我在onGetReady()函数中初始化我的代码,该函数在PhoneGap触发“deviceready”事件时触发。由于Chr...

kisshua
今天
9
0
nginx中部署vue打包后的静态文件

如何在nginx中部署静态资源就不描述了, 请看我的这篇博客 将vue脚手架项目打包后的静态文件放到nginx上, 发现有个问题, 即url上有#, 怎么去掉这个#呢. 1 项目中router的mode 路由的mode要为h...

克虏伯
今天
13
0
JS容易理解错误的地方

在这端代码执行的末尾,你会不会hi变量回事函数中的hi了?你会不会认为这不是按引用传递了? 对值传递和引用传递产生质疑了? 1 var hi = {};2 function sayHello(hi) { ...

器石_
今天
10
0
Java开发学习--MongoDB

之前只学过sql,第一次使用非关系型数据库。以前对于关系型数据库与非关系型数据库的概念很模糊,通过这次的学习对这两者有了一个清晰的概念。 主键 在MongoDB中,主键名叫"_id",如果在生成...

微笑向暖wx
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部