Android生成一维码
2016-04-23 12:20
375 查看
BitmapUtil.java里面添加个方法
MainActivity.java里面监听
/** * 用于将给定的内容生成成一维码 注:目前生成内容为中文的话将直接报错,要修改底层jar包的内容 * * @param content 将要生成一维码的内容 * @return 返回生成好的一维码bitmap * @throws WriterException WriterException异常 */ public static Bitmap CreateOneDCode(String content) throws WriterException { // 生成一维条码,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败 BitMatrix matrix = new MultiFormatWriter().encode(content, BarcodeFormat.CODE_128, 500, 200); 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] = 0xff000000; } } } Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); // 通过像素数组生成bitmap,具体参考api bitmap.setPixels(pixels, 0, width, 0, 0, width, height); return bitmap; }
MainActivity.java里面监听
button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //得到输入框的值 String trim = editText.getText().toString().trim(); Bitmap bitmap; try { //生成一维码 bitmap = BitmapUtil.CreateOneDCode(trim); if(bitmap != null){ //给image赋值 imageView.setImageBitmap(bitmap); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } });
相关文章推荐
- Android PullToRefresh (GridView 下拉刷新上拉加载)
- Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
- android里面R文件突然找不到,或者报错情况分析
- 聊聊Android的缓存(四)
- Android中TimePicker与DatePicker时间日期选择组件的使用实例
- 浅析Android App的相对布局RelativeLayout
- Android Intent传值
- [置顶] MD5加密,java工具类 String 转变成MD5 String 详细代码,工具类Android开发必备
- Android4.4 增加屏幕旋转功能
- 聊聊的Android缓存(三)
- Android自定义view的三个构造函数理解
- Android Volley完全解析(四),带你从源码的角度理解Volley
- Android广播BroadcastReceiver的ACTION
- Android JPush(极光推送)的使用教程
- Android之SurfaceView与View
- Android SO逆向-多重继承
- Android源码代理模式---Binder
- GreenDao 在 Android Studio 中的配置使用 之 更新数据库
- 《Android JNI》02 对java传进来的整形参数进行操作并返回
- Android布局优化之include、merge、ViewStub的使用