使用QRCodeReaderView扫描二维码

泡在网上的日子 / 文 发表于2014-03-03 20:40 次阅读 二维码

现在的二维码扫描一般都是采用zxing,但是使用起来并不是很理想,因此我们需要对原始的zxing进行改进,在github上发现了一个开源项目,修改了zxing使其更好使用,如果你觉得不好使,还可以参照他的做法自己修改zxing。

其使用方法很简单:

1.将library 添加到你的项目中。

2.在activity中实现onQRCodeReadListener接口,并实现其方法。

3.确保activity是竖屏模式,同时在 manifest.xml中添加camera的访问权限。

4.将QRCodeReaderView添加到你的布局文件中。

Image

5.设置onQRCodeReadListener的回调接口,可直接在activity中实现。

    public class DecoderActivity extends Activity implements OnQRCodeReadListener {
    private TextView myTextView;
    private QRCodeReaderView mydecoderview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_decoder);
        mydecoderview = (QRCodeReaderView) findViewById(R.id.qrdecoderview);
        mydecoderview.setOnQRCodeReadListener(this);
        myTextView = (TextView) findViewById(R.id.exampleTextView);
    }
    // Called when a QR is decoded
    // "text" : the text encoded in QR
    // "points" : points where QR control points are placed
    @Override
    public void onQRCodeRead(String text, PointF[] points) {
        myTextView.setText(text);
    }
    // Called when your device have no camera
    @Override
    public void cameraNotFound() {
    }
    // Called when there's no QR codes in the camera preview image
    @Override
    public void QRCodeNotFoundOnCamImage() {
    }
    @Override
    protected void onResume() {
        super.onResume();
        mydecoderview.getCameraManager().startPreview();
    }
    @Override
    protected void onPause() {
        super.onPause();
        mydecoderview.getCameraManager().stopPreview();
    }
}


收藏 赞 (1) 踩 (1)
上一篇:如何给gridview的单元格加上分割线
有时候需要给gridview加上分割线,没有现成的解决方案,这里写好一个可以直接用的自定义gridview,就叫做LineGridView吧。先上图,zaker客户端第三方分享的gridview样式: 可以看到靠边的格子都是半封闭的,要实现这种效果仅仅靠美工给图片恐怕不行。反编译z
下一篇:ubuntu下编译apps应用模块的一些问题总结
预编译: . build/envsetup.sh 默认情况下编译会生成apk 和 odex 两个文件,其中apk里面是不包含classes.dex文件的,因此不能直接安装,如果要得到一个完整的apk 需要更改mk文件,有两种办法: 1.只更改需要编译的app项目中mk文件,增加 LOCAL_DEX_PREOPT :=