终极AS解决二维码方案:Zxing方案

来源:互联网 发布:linux的基本操作 编辑:程序博客网 时间:2024/05/22 02:31

我用AS,反正就是从网上找的Zxing二维码做起来都是有问题,不是这就是那

好烦。

我自己写个吧

先给你们一个jar包,你们自己下载的一下这个

链接:http://pan.baidu.com/s/1slxlOWd 密码:ly3d

要是没进去,你刷新一下就好了


工具类,你们找个位置放一下,丢到包里就好

public final class QRCodeUtil {    private static final int BLACK = 0xff000000;    public static Bitmap createQRCode(String str, int widthAndHeight)            throws WriterException {        Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();        hints.put(EncodeHintType.CHARACTER_SET, "utf-8");        BitMatrix matrix = new MultiFormatWriter().encode(str,                BarcodeFormat.QR_CODE, widthAndHeight, widthAndHeight);        int width = matrix.getWidth();        int height = matrix.getHeight();        int[] pixels = new int[width * height];        for (int y = 0; y < height; y++) {            for (int x = 0; x < width; x++) {                if (matrix.get(x, y)) {                    pixels[y * width + x] = BLACK;                }            }        }        Bitmap bitmap = Bitmap.createBitmap(width, height,                Bitmap.Config.ARGB_8888);        bitmap.setPixels(pixels, 0, width, 0, 0, width, height);        return bitmap;    }}

OK,然后,使用就这么简单,我不知道为什么你们要这么复杂

String url=jsonObject.getString("url");mSharedPreferences.edit().putString(Default.PREF_CURRENT_ID,url).apply();Bitmap bitmapQRCode = QRCodeUtil.createQRCode(url,        150);Uhaoyouyaoqing_url.setImageBitmap(bitmapQRCode);


我的url是从后台来的,这个你么自己随便定义

然后大小是150,

第二句你们可以不写,那个是我从存储里面拿我的数据,和你们的情况应该不一样。

然后,你看最后一句意思,XXXXXXX。setXXXX                             前面那个是我的控件 是一个imageview  的名字 这个你们随便定义一个在你们XML就好,完成后他会自动出现在

 你定义的那个区域。但是大小会有一点不一样,除非你的定义那个veiw的框大小和我设定的150是一样

你们这个试着大小试试,合适就好。






0 0
原创粉丝点击