精华内容
下载资源
问答
  • Android Studio生成二维码
    2021-09-23 19:18:47

    第一步 导入依赖

    compile 'cn.yipianfengye.android:zxing-library:2.2'
    

    第二步 在清单文件里加权限

        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    
        <uses-feature android:name="android.hardware.camera" />
        <uses-feature android:name="android.hardware.camera.autofocus" />
    
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.INTERNET" />
    

    第三步 初始化

    1.定义一个类继承Application
    2.重写onCreate方法
    3.初始化

    public class App extends Application {
    
        @Override
        public void onCreate() {
            super.onCreate();
            ZXingLibrary.initDisplayOpinion(this);
        }
    }
    

    第四步 在清单文件里进行调用

    ![给application添加一个name 调用初始化中的类名](https://img-blog.csdnimg.cn/0e50729a02244986be7d96e964876796.png)
    
    

    第五步 在MainActivity

    1.所对应的布局文件 定义ImageView
    2.控件初始化
    3.在onCreate里定义一个String字符串

    String str = "sunzhaojin";
    ImageView imageView = findViewById(R.id.img);
    Bitmap mBitmap = CodeUtils.createImage(str, 400, 400, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher_background));
    imageView.setImageBitmap(mBitmap);
    

    第六步 建一个管理类

    public class Manager {
        private static Manager manager = new Manager();
    
        private Manager() {
        }
    
        public static Manager getInstance() {
            return manager;
        }
    
        List<Callback> list = new ArrayList<>();
        public void register(MainActivity2 callback){
            list.add(callback);
        }
    
        public void unregister(Callback callback){
            list.add(callback);
        }
    
        public static interface Callback{
    
        }
    }
    
    

    第七步 新建一个页面调用

    ** 在新的页面 要实现管理类的接口 并调用管理类的方法**

    Manager.getInstance().register(this);
    

    第七步的全代码如下

    public class MainActivity2 extends AppCompatActivity implements Manager.Callback {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main2);
            Manager.getInstance().register(this);
        }
    
        @Override
        public void onPointerCaptureChanged(boolean hasCapture) {
    
        }
    }
    
    更多相关内容
  • 基于Android studio开发Zxing,实现了二维码生成了读取.在移植代码时注意查看readme.doc 文件,修改相关配置文件.
  • 基于ZXing开源代码的 Android studio 二维码项目
  • 1.生成二维码: 2.生成logo的二维码: 一、引入依赖 ...implementation files('libs\\zxing.jar') 二、集成工具类 添加二维码工具类EncodingUtils.java ... * 二维码生成工具类 */ public class EncodingUtils

    1.生成二维码:

    在这里插入图片描述

    2.生成logo的二维码:

    在这里插入图片描述

    一、引入依赖

    首先在libs文件目录下放进jar包zxing.jar,要下载zxing.jar就点击链接:下载zxing.jar(记得点击“Cdoe——Download ZIP,可以下载”),再引入依赖,然后sync

    implementation 
    展开全文
  • 主要介绍了Android studio 实现手机扫描二维码功能,需要的朋友可以参考下
  • 在导入build.gradle中导入依赖 ...android { compileSdkVersion 27 defaultConfig { applicationId “com.bwie.two_dimension_code” minSdkVersion 15 targetSdkVersion 27 versionCode...

    在导入build.gradle中导入依赖

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 27
        defaultConfig {
            applicationId "com.bwie.two_dimension_code"
            minSdkVersion 15
            targetSdkVersion 27
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
        **configurations.all {
            resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                def requested = details.requested
                if (requested.group == 'com.android.support') {
                    if (!requested.name.startsWith("multidex")) {
                        details.useVersion '27.1.1' //这里改为你项目使用的版本即可
                    }
                }
            }
        }**
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.3'
        **implementation 'com.android.support:design:27.1.1'//加入两个依赖
        compile 'cn.yipianfengye.android:zxing-library:1.9'**
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    }
    
    

    主布局:主要写输入框和搜索框以及生成二维码的框架

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.bwie.two_dimension_code.MainActivity"
        android:orientation="vertical">
      <LinearLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:orientation="horizontal">
    
        <EditText
            android:id="@+id/sou"
            android:layout_width="300dp"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="搜索"/>
      </LinearLayout>
      <ImageView
          android:id="@+id/img"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center"/>
    </LinearLayout>
    

    主类功能模块

    package com.bwie.two_dimension_code;
    
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.text.TextUtils;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageView;
    
    import com.uuzuche.lib_zxing.activity.CodeUtils;
    
    public class MainActivity extends AppCompatActivity {
    
        private EditText sou;
        private Button btn;
        private ImageView img;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //找控件
            sou = findViewById(R.id.sou);
            btn = findViewById(R.id.btn);
            img = findViewById(R.id.img);
            //输入内容后点击搜索生成一个二维码
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String s = sou.getText().toString();
    
                    if (TextUtils.isEmpty(s)){
                        return;
                    }
                    Bitmap bitmap = CodeUtils.createImage(s, 400, 400, BitmapFactory.decodeResource(getResources(), R.mipmap.airen));
                    img.setImageBitmap(bitmap);
                }
            });
        }
    }
    
    展开全文
  • 利用zxing实现二维码的识别和生成Android利用zxing生成二维码,识别二维码 demo。
  • Androidstudio 扫码、生成二维码

    千次阅读 2019-02-25 10:12:03
    扫码 implementation 'com.journeyapps:zxing-android-embedded:3.5.0' IntentIntegrator integrator = new ...// 设置要扫描的条码类型,ONE_D_CODE_TYPES:一维码,QR_CODE_TYPES-二维码 integ...

    扫码

    implementation 'com.journeyapps:zxing-android-embedded:3.5.0'
    
    IntentIntegrator integrator = new IntentIntegrator(MyApplication.activity);
    // 设置要扫描的条码类型,ONE_D_CODE_TYPES:一维码,QR_CODE_TYPES-二维码
    integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
    integrator.setCaptureActivity(ScanActivity.class); //设置打开摄像头的Activity
    integrator.setPrompt("扫描二维码加好友"); //底部的提示文字,设为""可以置空
    integrator.setCameraId(0); //前置或者后置摄像头
    integrator.setBeepEnabled(true); //扫描成功的滴声,默认开启
    integrator.setBarcodeImageEnabled(true);
    integrator.initiateScan();
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (data != null){
            IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
            if (scanResult != null) {
                String result = scanResult.getContents();
                LogUtils.log("code", result);
            }
        }
    }
    
    //自定义扫描界面
    public class ScanActivity extends BaseActivity {
    
        private CaptureManager capture;
        private DecoratedBarcodeView barcodeScannerView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.scan);
            barcodeScannerView = findViewById(R.id.dbv_scan);
    
            capture = new CaptureManager(this, barcodeScannerView);
            capture.initializeFromIntent(getIntent(), savedInstanceState);
            capture.decode();
        }
    
        /**
         * Override to use a different layout.
         *
         * @return the DecoratedBarcodeView
         */
        protected DecoratedBarcodeView initializeContent() {
    
            return (DecoratedBarcodeView)findViewById(R.id.zxing_barcode_scanner);
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            capture.onResume();
        }
    
        @Override
        protected void onPause() {
            super.onPause();
            capture.onPause();
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            capture.onDestroy();
        }
    
        @Override
        protected void onSaveInstanceState(Bundle outState) {
            super.onSaveInstanceState(outState);
            capture.onSaveInstanceState(outState);
        }
    
        @Override
        public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) {
            capture.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }
    
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            return barcodeScannerView.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event);
        }
    }
    
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <com.journeyapps.barcodescanner.DecoratedBarcodeView
            android:id="@+id/dbv_scan"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textSize="@dimen/sp20"
            android:text="@string/friend_refuse"/>
    </LinearLayout>
    

    二维码

    	/**
         * 生成简单二维码
         *
         * @param content                字符串内容
         * @param width                  二维码宽度
         * @param height                 二维码高度
         * character_set          编码方式(一般使用UTF-8)
         * error_correction_level 容错率 L:7% M:15% Q:25% H:35%
         * @param margin                 空白边距(二维码与边框的空白区域)
         * @return BitMap
         */
        public static Bitmap createQRCodeBitmap(String content, ImageView iv_view, Bitmap bm_icon,
                                                int width, int height, int margin) {
            // 字符串内容判空
            if (TextUtils.isEmpty(content)) {
                return null;
            }
            // 宽和高>=0
            if (width < 0 || height < 0) {
                return null;
            }
            try {
                /** 1.设置二维码相关配置 */
                Hashtable<EncodeHintType, String> hints = new Hashtable<>();
                // 字符转码格式设置
                hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
                // 容错率设置
                hints.put(EncodeHintType.ERROR_CORRECTION, "H");
                // 空白边距设置
                hints.put(EncodeHintType.MARGIN, margin + "");
                /** 2.将配置参数传入到QRCodeWriter的encode方法生成BitMatrix(位矩阵)对象 */
                BitMatrix bitMatrix = new QRCodeWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
                bitMatrix = updateBit(bitMatrix, margin);
    
                width = bitMatrix.getWidth();
                height = bitMatrix.getHeight();
    
                /** 3.创建像素数组,并根据BitMatrix(位矩阵)对象为数组元素赋颜色值 */
                int[] pixels = new int[width * height];
                for (int y = 0; y < height; y++) {
                    for (int x = 0; x < width; x++) {
                        //bitMatrix.get(x,y)方法返回true是黑色色块,false是白色色块
                        if (bitMatrix.get(x, y)) {
                            pixels[y * width + x] = 0xff000000;//黑色色块像素设置
                        } else {
                            pixels[y * width + x] = 0xffffffff;// 白色色块像素设置
                        }
                    }
                }
                /** 4.创建Bitmap对象,根据像素数组设置Bitmap每个像素点的颜色值,并返回Bitmap对象 */
                Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
                bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
    
                //5,创建一个方法在二维码上添加一张图片
                Bitmap bitmapCode = addLogo(bitmap,bm_icon, 0.2f);
                if (bitmapCode != null && iv_view != null) {
                    iv_view.setImageBitmap(bitmapCode);
                    return bitmapCode;
                }
                iv_view.setImageBitmap(bitmapCode);
                return bitmap;
            } catch (WriterException e) {
                e.printStackTrace();
                return null;
            }
        }
    
        /**
         * 向二维码中间添加logo图片(图片合成)
         *
         * @param srcBitmap 原图片(生成的简单二维码图片)
         * @param logoBitmap logo图片
         * @param logoPercent 百分比 (用于调整logo图片在原图片中的显示大小, 取值范围[0,1] )
         * @return
         */
        private static Bitmap addLogo(Bitmap srcBitmap,  Bitmap logoBitmap, float logoPercent){
            if(srcBitmap == null){
                return null;
            }
            if(logoBitmap == null){
                return srcBitmap;
            }
            //传值不合法时使用0.2F
            if(logoPercent < 0F || logoPercent > 1F){
                logoPercent = 0.2F;
            }
    
            /** 1. 获取原图片和Logo图片各自的宽、高值 */
            int srcWidth = srcBitmap.getWidth();
            int srcHeight = srcBitmap.getHeight();
            int logoWidth = logoBitmap.getWidth();
            int logoHeight = logoBitmap.getHeight();
    
            /** 2. 计算画布缩放的宽高比 */
            float scaleWidth = srcWidth * logoPercent / logoWidth;
            float scaleHeight = srcHeight * logoPercent / logoHeight;
    
            /** 3. 使用Canvas绘制,合成图片 */
            Bitmap bitmap = Bitmap.createBitmap(srcWidth, srcHeight, Bitmap.Config.ARGB_8888);
            Canvas canvas = new Canvas(bitmap);
            canvas.drawBitmap(srcBitmap, 0, 0, null);
            canvas.scale(scaleWidth, scaleHeight, srcWidth/2, srcHeight/2);
            canvas.drawBitmap(logoBitmap, srcWidth/2 - logoWidth/2, srcHeight/2 - logoHeight/2, null);
    
            return bitmap;
        }
    
        private static BitMatrix updateBit(BitMatrix matrix, int margin){
            int tempM = margin*2;
            int[] rec = matrix.getEnclosingRectangle();   //获取二维码图案的属性
            int resWidth = rec[2] + tempM;
            int resHeight = rec[3] + tempM;
            BitMatrix resMatrix = new BitMatrix(resWidth, resHeight); // 按照自定义边框生成新的BitMatrix
            resMatrix.clear();
            for(int i= margin; i < resWidth- margin; i++){   //循环,将二维码图案绘制到新的bitMatrix中
                for(int j=margin; j < resHeight-margin; j++){
                    if(matrix.get(i-margin + rec[0], j-margin + rec[1])){
                        resMatrix.set(i,j);
                    }
                }
            }
            return resMatrix;
        }
    
    展开全文
  • android的报销提示: Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
  • android 生成二维码 中间可以添加logo 也可以取消添加logo
  • Android Studio Zxing生成二维码

    千次阅读 2018-12-09 21:59:31
    uses-permission android:name=&quot;android.permission.CAMERA&quot; /&amp;gt; &amp;gt; &amp;lt;uses-permission android:name=&quot;android.permission.VIBRATE&quot; /&amp...
  • android studio二维码依赖包 可以生成,也可以扫描,有利于大家使用!
  • android生成二维码并保存

    热门讨论 2013-12-17 11:09:54
    android开发生成二维码并保存到本地
  • Android studio 生成二维码与扫描二维码点击libzing下载地址MainActivityimport android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.support.v7.app....
  • android studio上使用zxing-android-embedded实现二维码生成和扫描
  • Android如何实现二维码生成与识别

    千次阅读 2020-10-25 21:02:37
    首先将项目结构切换为project,然后将谷歌的jar包复制到libs目录下。如下图 jar包下载地址链接:... Android布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a...
  • ZXing是谷歌的一个开源库,可以用来生成二维码、扫描二维码。接下来通过本文给大家介绍Android中使用ZXing生成二维码(支持添加Logo图案),需要的朋友参考下
  • 使用android studio 生成 扫描二维码app,简单粗暴好用 自己白天找了一上午代码也没找到 ,然后用了个github包 写了个简单的 下面上图 首先使用android studio创建一个空白项目,这里不多讲了 不会的小伙伴可以...
  • 这是android app生成二维码最简单的方法,里面代码几行实现。 我有些教程,教程里面有如何把zxing库导入到工程,方法很简单。 要是学不会,不会用的话来骂我……
  • android studio zxing 生成和扫描二维码

    千次阅读 2020-02-29 19:53:11
    implementation 'com.journeyapps:zxing-android-embedded:3.6.0' //生成 implementation 'com.google.zxing:javase:3.0.0' MainActivity package wlt.com.hyjj; import android.content.Intent; import a...
  • Android studio简单实现二维码功能

    千次阅读 2019-12-30 19:33:39
    二维码依赖 //app implementation ‘com.github.tongchexinfeitao:QRCodeLibrary:1.0’ //根目录 allprojects maven { url ‘https://jitpack.io’ } //EventBus依赖 implementation ‘org.greenrobot:eventbus:...
  • 玩转Android二维码生成与识别

    万次阅读 多人点赞 2016-05-26 15:29:22
    二维码,我们也称作QRCode,QR表示quick response即...二维码的使用我主要想分为两部分来给大家介绍,一部分就是二维码生成,这里的知识点都很简单,还有一部分是二维码的识别,这里稍微麻烦一些,不过细心来做其实
  • 安卓实现二维码扫描返回扫描结果,二维码生成,二维码保存到本地博客地址 https://blog.csdn.net/hongfei568718926/article/details/109071738
  • 二维码扫描应用,如果出现camera error请进入手机权限管理授权app
  • 安装此APK程序,可以通过手机扫描各类二维码,将二维码的信息自动解析生成文件,方便查看使用
  • Android利用zxing生成二维码,识别二维码超详细、超简易demo,解压后用Android studio可直接打开,附教程:https://blog.csdn.net/mountain_hua/article/details/80646089
  • Android Studio中集成Zxing实现条形码和二维码的扫描
  • Android zxing生成与解析二维码 com.google.zxing:core:3.3.0 可以在Android studio直接搜索下载,也可以导入包。 生成普通的二维码 /** * 生成带logo的二维码,logo默认为二维码的1/5 * * @param text 需要生成...
  • 别纠结这页面咋这么丑,没写样式,说一下我实现的思路哈,首先在数据库中新建一个表用来存储扫码登录信息(id,username,randomnum),这三个分别是id自增长,用户名,随机数——>点击生成二维码生成随机数,可以用...
  • 自己输入数据自动生成二维码,扫描获取输入的内容,使用ZXing二维库实现

空空如也

空空如也

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

androidstudio二维码生成