精华内容
下载资源
问答
  • Android 生成二维码

    2019-02-27 14:12:02
    Android 生成二维码 在根版本导入 allprojects { repositories { google() jcenter() maven { url 'https://jitpack.io' } } } 添加依赖 implementation ‘com.github.jwkj:LibZXing:v1.0.4’ 布局 &...

    Android 生成二维码

    在根版本导入

    allprojects {
        repositories {
            google()
            jcenter()
            maven { url 'https://jitpack.io' }
        }
    }
    

    添加依赖 implementation ‘com.github.jwkj:LibZXing:v1.0.4’

    布局

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="horizontal"
            android:layout_height="wrap_content">
            <Button
                android:id="@+id/bt_scan"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="扫描" />
    
            <Button
                android:id="@+id/bt_create_one"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="生成不带logo的二维码" />
    
            <Button
                android:id="@+id/bt_create_two"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="生成带logo的二维码" />
        </LinearLayout>
        <ImageView
            android:layout_width="wrap_content"
            android:id="@+id/iv"
            android:layout_height="wrap_content" />
    
    </LinearLayout>
    
    import android.content.Intent;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageView;
    import android.widget.Toast;
    
    import com.jwkj.libzxing.OnQRCodeScanCallback;
    import com.jwkj.libzxing.QRCodeManager;
    
    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        private ImageView imageView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button bt_scan = findViewById(R.id.bt_scan);
            Button bt_create_one = findViewById(R.id.bt_create_one);
            Button bt_create_two = findViewById(R.id.bt_create_two);
            imageView = findViewById(R.id.iv);
    
            bt_scan.setOnClickListener(this);
            bt_create_one.setOnClickListener(this);
            bt_create_two.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.bt_scan:
                    QRCodeManager.getInstance().with(this).setReqeustType(0).scanningQRCode(new OnQRCodeScanCallback() {
                        @Override
                        public void onCompleted(String s) {
                            Toast.makeText(MainActivity.this, "结果:"+s, Toast.LENGTH_SHORT).show();
                        }
    
                        @Override
                        public void onError(Throwable throwable) {
    
                        }
    
                        @Override
                        public void onCancel() {
    
                        }
                    });
                    break;
                case R.id.bt_create_one:
                    Bitmap bitmap=QRCodeManager.getInstance().createQRCode("https://user.qzone.qq.com/731177635/infocenter",400,400);
                    imageView.setImageBitmap(bitmap);
                    break;
                case R.id.bt_create_two:
                    Bitmap bitmap1=BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher_round);
                    Bitmap bt=QRCodeManager.getInstance().createQRCode("http://www.baidu.com", 400, 400,bitmap1);
                    imageView.setImageBitmap(bt);
                    break;
            }
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            Toast.makeText(this, "走了", Toast.LENGTH_SHORT).show();
            QRCodeManager.getInstance().with(this).onActivityResult(requestCode,resultCode,data);
        }
    }
    
    
    展开全文
  • android 生成二维码

    2020-10-20 20:05:06
    生成二维码 package com.bdxh.clientstudentandroid.utils import android.graphics.Bitmap import android.graphics.Color import android.text.TextUtils import com.google.zxing.BarcodeFormat import com.goo

    加入引用依赖

    // 二维码相关
    implementation 'com.google.zxing:core:3.3.0'
    

    生成二维码

    package com.bdxh.clientstudentandroid.utils
    
    import android.graphics.Bitmap
    import android.graphics.Color
    import android.text.TextUtils
    import com.google.zxing.BarcodeFormat
    import com.google.zxing.EncodeHintType
    import com.google.zxing.WriterException
    import com.google.zxing.qrcode.QRCodeWriter
    import java.util.*
    
    
    /**
     *@date     创建时间:2020/10/20
     *@name     作者:陆键霏
     *@describe 描述:
     */
    object QRCodeHelper {
    
        /**
         * 生成简单二维码
         *
         * @param content                字符串内容
         * @param width                  二维码宽度
         * @param height                 二维码高度
         * @param character_set          编码方式(一般使用UTF-8)
         * @param error_correction_level 容错率 L:7% M:15% Q:25% H:35%
         * @param margin                 空白边距(二维码与边框的空白区域)
         * @param color_black            黑色色块
         * @param color_white            白色色块
         * @return BitMap
         */
        fun createQRCodeBitmap(
            content: String?,
            width: Int,
            height: Int,
            character_set: String? = "UTF-8",
            error_correction_level: String? = "",
            margin: String? = "1",
            color_black: Int = Color.BLACK,
            color_white: Int = Color.WHITE
        ): Bitmap? {
            // 字符串内容判空
            if (TextUtils.isEmpty(content)) {
                return null
            }
            // 宽和高>=0
            return if (width < 0 || height < 0) {
                null
            } else try {
                /** 1.设置二维码相关配置  */
                val hints: Hashtable<EncodeHintType, String?> = Hashtable()
                // 字符转码格式设置
                if (!TextUtils.isEmpty(character_set)) {
                    hints[EncodeHintType.CHARACTER_SET] = character_set
                }
                // 容错率设置
                if (!TextUtils.isEmpty(error_correction_level)) {
                    hints[EncodeHintType.ERROR_CORRECTION] = error_correction_level
                }
                // 空白边距设置
                if (!TextUtils.isEmpty(margin)) {
                    hints[EncodeHintType.MARGIN] = margin
                }
                /** 2.将配置参数传入到QRCodeWriter的encode方法生成BitMatrix(位矩阵)对象  */
                val bitMatrix =
                    QRCodeWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints)
    
                /** 3.创建像素数组,并根据BitMatrix(位矩阵)对象为数组元素赋颜色值  */
                val pixels = IntArray(width * height)
                for (y in 0 until height) {
                    for (x in 0 until width) {
                        //bitMatrix.get(x,y)方法返回true是黑色色块,false是白色色块
                        if (bitMatrix[x, y]) {
                            pixels[y * width + x] = color_black //黑色色块像素设置
                        } else {
                            pixels[y * width + x] = color_white // 白色色块像素设置
                        }
                    }
                }
                /** 4.创建Bitmap对象,根据像素数组设置Bitmap每个像素点的颜色值,并返回Bitmap对象  */
                val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
                bitmap.setPixels(pixels, 0, width, 0, 0, width, height)
                bitmap
            } catch (e: WriterException) {
                null
            }
        }
    }
    
    展开全文
  • Android生成二维码

    2019-03-25 15:48:24
    玩转Android二维码生成与识别 - 江南一点雨的专栏 - CSDN博客 https://blog.csdn.net/u012702547/article/details/51501350

    玩转Android之二维码生成与识别 - 江南一点雨的专栏 - CSDN博客  https://blog.csdn.net/u012702547/article/details/51501350

    展开全文
  • android生成二维码

    2016-12-28 16:40:00
    布局截图如下(一个输入框,一个按钮,一个imageview),输入想要的东西(文字,数字,网站链接等)然后点击按钮生成二维码,然后可以扫描识别。 首先需要一个谷歌的一个jar包 activity的代码 private ...

    新建项目

    布局截图如下(一个输入框,一个按钮,一个imageview),输入想要的东西(文字,数字,网站链接等)然后点击按钮生成二维码,然后可以扫描识别。

     

    首先需要一个谷歌的一个jar包

    activity的代码

    	private EditText et1;
    	private Button btn1;
    	private ImageView iv1;
    	
    	private static final int IMAGE_HALFWIDTH = 35;//图片宽度值大小
    

      

    找到输入框,和按钮,imageview

                    et1 = (EditText)findViewById(R.id.editText1);
    		btn1 = (Button)findViewById(R.id.button1);
    		iv1 = (ImageView)findViewById(R.id.imageView1);
    

      按钮点击事件

    		btn1.setOnClickListener(new OnClickListener() {
    			
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				String toMakePic_string = et1.getText().toString().trim();
    				Bitmap logo= BitmapFactory.decodeResource(getResources(),R.drawable._netcfg);
    				
    				try {
    					Bitmap bm=createCode(toMakePic_string,logo,BarcodeFormat.QR_CODE); //一个方法在下面
    					iv1.setImageBitmap(bm);
    				} catch (WriterException e) {
    					e.printStackTrace();
    				}
    			}
    		});
    

      

    createCode方法 返回bitmap
        public Bitmap createCode(String string,Bitmap mBitmap, BarcodeFormat format)throws WriterException {
        	//Matrix,中文里叫矩阵,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。
        	Matrix m = new Matrix();
        	float sx = (float) 2 * IMAGE_HALFWIDTH / mBitmap.getWidth();
    		float sy = (float) 2 * IMAGE_HALFWIDTH / mBitmap.getHeight();
    		m.setScale(sx, sy);//设置缩放信息
    		//将logo图片按martix设置的信息缩放
    		mBitmap = Bitmap.createBitmap(mBitmap, 0, 0,mBitmap.getWidth(), mBitmap.getHeight(), m, false);
    		MultiFormatWriter writer = new MultiFormatWriter();
    		Hashtable hst = new Hashtable();
    		hst.put(EncodeHintType.CHARACTER_SET, "UTF-8");//设置字符编码
    		//生成二维码矩阵信息
    		BitMatrix matrix = writer.encode(string, format, 800, 800, hst);
    		int width = matrix.getWidth();//矩阵高度
    		int height = matrix.getHeight();//矩阵宽度
    		int halfW = width / 2;
    		int halfH = height / 2;
    		int[] pixels = new int[width * height];//定义数组长度为矩阵高度*矩阵宽度,用于记录矩阵中像素信息
    		for (int y = 0; y < height; y++) {//从行开始迭代矩阵
    			for (int x = 0; x < width; x++) {//迭代列
    				if (x > halfW - IMAGE_HALFWIDTH && x < halfW + IMAGE_HALFWIDTH && y > halfH - IMAGE_HALFWIDTH && y < halfH + IMAGE_HALFWIDTH) {
    					//该位置用于存放图片信息
    					//记录图片每个像素信息
    					pixels[y * width + x] = mBitmap.getPixel(x - halfW+ IMAGE_HALFWIDTH, y - halfH + IMAGE_HALFWIDTH); 
    				}
    				else {
    					if (matrix.get(x, y)) {
    						//如果有黑块点,记录信息
    						pixels[y * width + x] = 0xff000000;//记录黑块信息
    					}
    				}
    			}
    		}
    		Bitmap bitmap = Bitmap.createBitmap(width, height,Bitmap.Config.ARGB_8888);
    		// 通过像素数组生成bitmap
    		bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
    		return bitmap;
    	}
    

      

    完成截图(写什么都可以)【】

     

    转载于:https://www.cnblogs.com/chaowang/p/6230025.html

    展开全文
  • zxing jar文件,用于Android生成二维码,识别二维码,解压后放在libs文件夹内导入
  • 网上Android生成二维码的文章很多,我看的一帖是Android生成自定义二维码,这篇文章详细讲解了如何生成一个二维码。 我在实际使用的时候遇到一个问题,就是生成的二维码是有问题的,扫码无效果。。。 我的二维码...
  • 简介ZXing 是一个开源 Java 类库用于解析多种格式的 1D/2D 条形码。...官网:ZXing github仓库实战本例演示如何在一个非 android 的 Java 项目中使用 ZXing 来生成、解析二维码图片。安装maven项目只需引入依赖:<...
  • 之前写过生成自定义二维码的两篇文章:《Android生成自定义二维码》《Android生成二维码–拍照或从相册选取图片》,下面就介绍一下Android应用内如何保存以及分享二维码图片。 保存图片 Adnroid中保存图片的方法...
  • android生成二维码并保存

    热门讨论 2013-12-17 11:09:54
    android开发生成二维码并保存到本地
  • Android 开发中,会遇到生成二维码扫一扫的功能,其实就是调用google的zxing的jar 来生成二维码来进行扫一扫 具体功能如下 /** * 创建二维码 * * @param content content * @param widthPix widthPix * @...
  • Android 生成二维码

    2017-06-01 18:41:46
    android端快速生成二维码和进行二维码扫描(按照这个方法导入项目很容易实现) Android端最新二维码生成与创建库 当然还有其他更好的方法。 android二维码、条形码分分钟秒杀 实现过程: 在生成二维码点击事件中...
  • Android生成二维码使用的是ZXing 我使用的是3.2.0,在网上找到jar包,链接: https://pan.baidu.com/s/1cMlJ1k 密码: crwc 也可在GitHub上下载最新的 下面是生成二维码的工具类 public class QRCodeUtil { /**...
  • android生成二维码图片

    千次阅读 2019-01-22 10:59:59
    public class QRCodeUtil { ... * 生成二维码Bitmap * * @param content 内容 * @param widthPix 图片宽度 * @param heightPix 图片高度 * @param logoBm 二维码中心的Logo图标(可以为null) * ...
  • Android 生成二维码工具类

    千次阅读 2019-05-23 20:43:00
    /** * 生成条形码和二维码的工具 */ public class ZXingUtils { ... * 生成二维码 要转换的地址或字符串,可以是中文 * * @param url * @param width * @param height * @return */ public stati...
  • android 生成二维码(带图片&不带图片)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,821
精华内容 728
关键字:

android生成二维码