Android 手机应用的开发经验—QR生成器
2010-08-21 03:25:00 来源:WEB开发网cn.restore();
}
} catch (Exception e) {
e.printStackTrace();
}
return canvasBmp;
}
public Bitmap AndroidQREncode(String strEncoding, int qrcodeVersion) {
Log.i("wwj", "QREncode");
Bitmap canvasBmp = null;
try {
// 构建QRCode编码对象
com.swetake.util.Qrcode testQrcode = new com.swetake.util.Qrcode();
/* L','M','Q','H' */
testQrcode.setQrcodeErrorCorrect('M');//错误修正率
/* "N","A" or other */
testQrcode.setQrcodeEncodeMode('B');
/* 0-20 */
testQrcode.setQrcodeVersion(qrcodeVersion);
// getBytes
byte[] bytesEncoding = strEncoding.getBytes("utf-8");
if (bytesEncoding.length > 0) {
// 转化成boolean数组
bEncoding = testQrcode.calQrcode(bytesEncoding);
int w = 320;
int h = 240;
canvasBmp = Bitmap.createBitmap(w, h, Config.ARGB_8888);//创建一个可改变的Bitmat对象
Canvas cn = new Canvas(canvasBmp);//创建Canvas对象
onDraw(cn);//调用画图函数
cn.save(Canvas.ALL_SAVE_FLAG);
cn.restore();
}
} catch (Exception e) {
e.printStackTrace();
}
return canvasBmp;
}
需要说明的我都做了注释,这段代码用到了第三方的类库SwetakeQRCode.jar包,这个包在http://swetake.com可以下载(该程序使用的函数库版本为ver. 0.50 beta)。这段代码的主要作用就是利用jar包的函数库,把输入的信息转换成产生QR图片文件的二维数组。当然,在这个函数里面我们还创建了Bitmap和Canvas对象,这些都和后面介绍的图片保存有关。
3.5:既然已经生成了产生条形码的依据,剩下就是画图的问题了。
做java的都知道,绘图肯定首先需要一个Canvas,然后在用Graphics在上面绘制自己想要图案。不错,Android上面也类似,你可以从一个Bitmap得到它的Canvas,进行绘制,也可以自定义一个View,用它的Canvas。不同的时,Android里没有Graphics,而用
更多精彩
赞助商链接