学习自极客学院:http://www.jikexueyuan.com/course/134_1.html?ss=2
【前言】
安卓的二维码实现起来很简单。
编程基于Zxing开源库:https://github.com/zxing/zxing
注意:
由于上述的库太大,一般采用BarCodeTest:https://codeload.github.com/zarxlly/BarCodeTest/zip/master
【BarCodeTest安装】
下载BarCodeTest,解压
将解压后的文件放到eclipse工程下,导入工程。
右击工程->properties->Android:钩选is library。允许其作为library
之后工程会有bug,找到bug存在的地方,将switch语句替换为if else语句即可。
BarCodeTest准备就绪。
【新建工程】
新建工程
右击工程->properties->Android:Add BarCodeTest作为library。
【添加Activity 和权限】
在BarCodeTest的AndroidManifest文件中找到CameraActivity的标签,复制到新工程的AndroidManifest中。
这样新工程可以直接调用该Activity.
<activity
android:configChanges="orientation|keyboardHidden"
android:name="com.zxing.activity.CaptureActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden" >
</activity>
同样,在AndroidManifest中添加Camera和vibrate的权限。
【扫描二维码】
调用intent,开始扫描。
Intent scanQrcode = new Intent(MainActivity.this,CaptureActivity.class);
startActivityForResult(scanQrcode,0);
扫描后处理:
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
String result = data.getExtras().getString("result");
Toast.makeText(this, result, Toast.LENGTH_SHORT).show();
}
}
【生成二维码】
调用EncodingHandler.createQRCode()可以生成二维码
第一个参数是二维码携带的信息,第二个参数是二维码的边长。
Bitmap btmQrcode = EncodingHandler.createQRCode("board qrcode", 400);
imageQrcode.setImageBitmap(btmQrcode);
介绍完毕