精华内容
下载资源
问答
  • 基于zxing ,zbar的二维码,条形码扫码库,效率较高。zxing,zbar各取所长
  • Android利用ZBar实现二维码、条形码扫码实例,参考博客:http://blog.csdn.net/daijin888888/article/details/51374263
  • Android二维码/条形码扫码,barcodescannergithub上的开源项目:https://github.com/dm77/barcodescanner引用:compile 'me.dm7.barcodescanner:zxing:1.9.8'代码:import android.os.Bundle; import android....

    Android二维码/条形码扫码,barcodescanner

    github上的开源项目:https://github.com/dm77/barcodescanner

    引用:

    compile 'me.dm7.barcodescanner:zxing:1.9.8'

    代码:

    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.widget.Toast;
    
    import com.google.zxing.Result;
    
    import me.dm7.barcodescanner.zxing.ZXingScannerView;
    
    public class MainActivity extends AppCompatActivity {
        private ZXingScannerView mScannerView;
    
        private ZXingScannerView.ResultHandler mResultHandler = new ZXingScannerView.ResultHandler() {
            @Override
            public void handleResult(Result result) {
                Toast.makeText(getApplicationContext(), "内容:" + result.getText() + ",格式=" + result.getBarcodeFormat().toString(), Toast.LENGTH_SHORT).show();
    
                mScannerView.resumeCameraPreview(mResultHandler); //重新开始扫码。
            }
        };
    
        @Override
        public void onCreate(Bundle state) {
            super.onCreate(state);
            mScannerView = new ZXingScannerView(this);
            setContentView(mScannerView);
            mScannerView.setResultHandler(mResultHandler);
        }
    
        @Override
        public void onResume() {
            super.onResume();
            mScannerView.startCamera();
        }
    
        @Override
        public void onPause() {
            super.onPause();
            mScannerView.stopCamera();
        }
    }

    展开全文
  • Android 在没有焦点情况下,获取键盘输入事件来实现条形码扫码输入值 在扫码枪输入,一般利用输入框的焦点就可以自动获取,今天收到产品要求在没有输入框焦点情况下实现扫码查询信息,总结下我的实现方法,希望能...

    Android 在没有焦点情况下,获取键盘输入事件来实现条形码扫码输入值


    在扫码枪输入,一般利用输入框的焦点就可以自动获取,今天收到产品要求在没有输入框焦点情况下实现扫码查询信息,总结下我的实现方法,希望能帮到你!

     1.利用activity的键盘事件监听方法

     @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            switch (keyCode) {
                case KeyEvent.KEYCODE_0:
                    barCode += "0";
                    break;
                case KeyEvent.KEYCODE_1:
                    barCode += "1";
                    break;
                case KeyEvent.KEYCODE_2:
                    barCode += "2";
                    break;
                case KeyEvent.KEYCODE_3:
                    barCode += "3";
                    break;
                case KeyEvent.KEYCODE_4:
                    barCode += "4";
                    break;
                case KeyEvent.KEYCODE_5:
                    barCode += "5";
                    break;
                case KeyEvent.KEYCODE_6:
                    barCode += "6";
                    break;
                case KeyEvent.KEYCODE_7:
                    barCode += "7";
                    break;
                case KeyEvent.KEYCODE_8:
                    barCode += "8";
                    break;
                case KeyEvent.KEYCODE_9:
                    barCode += "9";
                    break;
                case KeyEvent.KEYCODE_DEL:
                    barCode += "*";
                    break;
                case KeyEvent.KEYCODE_ENTER:
                    // 这个是回车键
                    queryQueueInfo(barCode);
                    barCode = "";
                    break;
                default:
                    barCode = "";
                    break;
            }
            return true;
        }

    2.利用回车键确认查询

      private void queryQueueInfo(String code) {
            Toast.makeText(getBaseContext(), "扫码:" + code, Toast.LENGTH_LONG).show();
    
        }

    原理其实很简单,就是利用键盘按下事件,然后累加各个输入,回车则清空。利用此方法也可以做自定义键盘。

    展开全文
  • 移动端开发vue使用Barcode实现二维码、条形码扫码

    千次阅读 热门讨论 2019-07-19 14:57:16
    1进入页面执行扫码功能 activated () { const self = this if (window.plus) { self.plusReady() } else { document.addEventListener('plusready', self.plusReady, false) } docum...

    实现效果
    在这里插入图片描述
    0 HTML

    <template>
      <div class="content">
        <header>
          <section class="head_goback"  @click="goback">
            <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" version="1.1">
              <polyline points="12,18 4,9 12,0" style="fill:none;stroke:rgb(255,255,255);stroke-width:2"/>
            </svg>
          </section>
          <section class="title_head ellipsis">
            <span class="title_text">扫描设备</span>
          </section>
        </header>
        <div class="Detail">
          <div id="code">
            <div style="width:16rem;height:12.8rem; background-color: #000; margin: 15% auto 5%; text-align: center"></div>
          </div>
          <p style="text-align: center">将二维码放入框内,即可自动扫描</p>
          <div style="text-align: center" class="sweep" @click="sweep">开始扫码</div>
          <div style="text-align: center" class="start" @click="next">识别失败,手动录入</div>
        </div>
      </div>
    </template>
    

    Tips:引包

    npm install vue-awesome-mui -save
    

    在main.js放入:

    import Mui from 'vue-awesome-mui'
    Vue.use(Mui)
    

    1进入页面执行扫码功能

      activated () {
        const self = this
        if (window.plus) {
          self.plusReady()
        } else {
          document.addEventListener('plusready', self.plusReady, false)
        }
    
        document.addEventListener('DOMContentLoaded', function () {
          // alert('DOMLoaded')
          self.domready = true
          self.plusReady()
        }, false)
        
        setTimeout(function () {
          self.sweep() // 扫码函数
        }, 1000)
      },
    
    methods:{
    //创建
    plusReady () {
          const self = this
          // 获取窗口
          self.scan = new plus.barcode.Barcode('code')
          self.scan.onmarked = self.onmarked
        },
        // 开始扫码
        sweep () {
          const self = this
          self.scan.start()
        },
         onmarked (type, result) {
          let t = this
          var text = '未知: '
    
          switch (type) {
            case plus.barcode.QR:
              type = 'QR'
              break
            case plus.barcode.EAN13:
              type = 'EAN13'
              break
            case plus.barcode.EAN8:
              type = 'EAN8'
              break
            default:
              type = '其他' + type
              break
          }
          result = result.replace(/\n/g, '')
          if (result.indexOf('http://') == 0 || result.indexOf('https://') == 0) {
            plus.nativeUI.confirm(result, function (i) {
              if (i.index == 0) {
                // self.back() // 返回上个页面
    
                plus.runtime.openURL(result)
                console.log(result) // 扫出来的值
                t.scan.close() //扫码成功后关闭扫码
                t.$router.push({path: 'Info', query: {id: result}})   // 跳转到对应的页面 
              } else {
                // self.back() // 返回上个页面
                console.log(result)
                t.scan.close()
                window.localStorage.scan = result
                t.$router.push({path: 'Info', query: {id: result}})
              }
            }, '', ['打开', '取消'])
          } else {
            // self.back() // 返回上个页面
            console.log(result)
          }
        }
    }
    

    Css

    <style scoped lang="less">
      .content{
        background-color: #000;
        color: white;
        height: 100vh;
        overflow: hidden;
        header{
          background-color: #000;
          height: 2.00533rem;
          width: 100%;
          text-align: center;
          line-height: 2.00533rem;
          display: flex;
          /*position: fixed;*/
          top:0;
          z-index: 99999;
          /deep/ .head_goback{
            padding-top: 0.1rem;
            width: 0.6rem;
            height: 0.8533rem;
            padding-left: 0.2rem;
          }
          /deep/ .title_head{
            width: 92%;
            text-align: center;
            color: white;
            font-size: 0.8533rem;
            letter-spacing: 2px;
          }
        }
        .Detail{
          width: 96%;
          margin: 0 auto;
          .session{
            .name{
              margin: 0.4rem 0;
              font-size: 0.4rem;
              color: #333333;
              font-weight: bold;
            }
            .useTutorials{
              background-color: #3998F7;
              border-radius: 5px;
            }
            .desc{
              margin: 0.4rem 0;
              font-size: 0.4rem;
              color: #333333;
              .title{
                font-weight: bold;
              }
              .intro{
                margin-top: 0.1rem;
              }
            }
          }
          p{
            font-size: 0.72rem;
          }
          .sweep{
            text-align: center;
            margin: 0.1rem auto;
            width:13.8667rem;
            height:1.7067rem;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius:1.024rem;
            font-size: 0.768rem;
            position: relative;
            z-index: 9999;
            color: white;
            background:#FF8C99;
            box-shadow:0px 6px 9px 0px rgba(255, 140, 153, 0.57);
            margin-top: 2rem;
          }
        }
        .start{
          text-align: center;
          margin: 0 auto;
          width:13.8667rem;
          height:1.7067rem;
          display: flex;
          justify-content: center;
          align-items: center;
          border-radius:1.024rem;
          font-size: 0.768rem;
          background:white;
          border: 2px solid rgba(255, 169, 163, 1);
          color: rgba(255, 169, 163, 1);
          margin-top: 0.64rem;
        }
      }
    </style>
    

    Tips:【小程序云开发】中高级前端面试题库(源码:小程序中联系我哟)。
    ---------- 创作不易,感谢大家,请多多支持!
    在这里插入图片描述

    展开全文
  • hbuild默认是不支持128条形码的。需要在扫描控件构造时进行配置 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <meta name="viewport...

    hbuild默认是不支持128条形码的。需要在 扫描控件构造时进行配置

     <!DOCTYPE html>
    <html>   
       <head>   
        <meta charset="UTF-8">   
        <title></title>   
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />   
        <link href="css/mui.min.css" rel="stylesheet" />   
        <script src="js/mui.min.js"></script>   
        <style type="text/css">   
            .qrcode-box{width: 100%;height:100%;position: absolute;top: 44px;bottom: 50px;text-align: center; z-index: 5;} 
            .mui-bar-nav{background-color: #fbfbfb; color: #0b0c0e; box-shadow: none; height: auto;}
            .mui-bar.mui-bar-nav .mui-icon,.mui-bar.mui-bar-nav .mui-pull-right{color: #6b6c6e;}
            .mui-bar.mui-bar-nav .mui-title{ color: #0B0C0E; z-index: 10;bottom: 0;}   
        </style>   
       </head>   
      <body>    
              <header class="mui-bar mui-bar-nav header-transparent">
                <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
                <h1 class="mui-title" style="color: #000;">扫码查询</h1>
            </header>
        <div class="qrcode-box" id="bcid">
                <div  style="height:100%;">      
             <!--盛放扫描控件的div-->           
        </div>
        </div> 
        <script src="js/mui.min.js"></script>  
        <script type="text/javascript">   
           
        var scan = null;//扫描对象   
            mui.init({
                    swipeBack: true,
                    beforeback: function() {
                        scan.close();
                    }
                });
        mui.plusReady(function () {
            plus.navigator.setStatusBarStyle("UIStatusBarStyleBlackOpaque");
            //通过mui初始化扫描
              var w=plus.nativeUI.showWaiting('',{padlock:true});
              setTimeout(function(){
                          startRecognize(); 
                        w.close();
                    },300)  
        });   
                   
            function startRecognize(){  //开启扫描 
               try{   
                 //自定义的扫描控件样式   
                 var styles = {frameColor: "#29E52C",scanbarColor: "#29E52C",background: ""}   
                //扫描控件构造   
                scan = new plus.barcode.Barcode('bcid',[plus.barcode.CODE128,plus.barcode.QR],styles);  
                scan.onmarked = onmarked;    
                scan.onerror = onerror;  //扫描错误 
                scan.start();     
              }catch(e){   
                       console.log(e+'错误')
                 }   
              }; 
              
                function onerror(e){  //错误弹框 
                        alert(e);   
                };   
                function onmarked(type, result ) {  //这个是扫描二维码的回调函数,type是扫描二维码回调的类型 
                        var text = '';   
                        switch(type){ //QR,EAN13,EAN8都是二维码的一种编码格式,result是返回的结果 
                            case plus.barcode.QR:   
                            text = 'QR: ';   
                            break;   
                            case plus.barcode.CODE128:   
                            text = 'CODE128: ';   
                            break;     
                        }   
                        getSearchProduct(result)      
                };     
            function getSearchProduct(barcode){
               mui.ajax(URL,{
                    data:{},
                    dataType:'json',
                    type:'get',
                    timeout:globalTimeout,
                    success:function(data){

                        plus.nativeUI.toast('请求成功');
                    },
                    error: function(xhr) {
                        plus.nativeUI.toast('请求失败,请检查网络重试');
                    }
                }); 
            }
            </script>   
        </body>   
    </html>

    //摄像头无法调起问题,是manifest.json摄像头使用的配置问题

    我的原因是少配置  "<uses-permission android:name=\"android.permission.CAMERA\"/>",

     

    展开全文
  • 二维码/条形码扫描及扫描与输入形式切换和二维码的生成 页面多tableView滑动悬停 数值加减小控件(购物车、商品类数值更改) iOS国际化语言切换 iOS优质博客 新手也看得懂的 iOS Runtime ...
  • 竖屏解决方案引用blog http://www.open-open.com/lib/view/open1437533499553.html 纯属参考,方便从查询!
  • iOS精选源码 粒子雪花与烟花的动画 iOS 2048游戏 ...二维码/条形码扫描及扫描与输入形式切换和二维码的生成 页面多tableView滑动悬停 数值加减小控件(购物车、商品类数值更改) iOS国际化语言切换...
  • 二维码条形码通用扫码界面,支持照明,支持相册选取图片扫码
  • <div><p>你好,新的版本,条形码扫不了</p><p>该提问来源于开源项目:MxABC/LBXScan</p></div>
  • 扫描条形码扫不出来的情况

    千次阅读 2016-01-13 15:26:48
    当app需要添加扫条形码的功能的时候。自己不会,网上一搜。遂引用之; 但之后发现了扫描书本上的二维码还ok,但公司自己印的都不动。本来打算用zxing替换呢。发现ZXing好像的iphone部分已经没啦。不知道为啥。。 闹...
  • 这是生成的条形码, <p style="text-align:center"><img alt="" height="424" src="https://img-ask.csdnimg.cn/upload/1618802393202.png" width="1694" /></p> 现在的问题是扫码枪怎么扫码之后怎么才能到...
  • 扫条形码二维码

    2018-03-23 12:11:47
    功能齐全,可以生成二维码,扫描条形码,二维码,代码简介少量。
  • 前面我们讲过扫描二维码、条形码,现在讲一下,如何通过扫描后获取的内容,生成条形码。 引入tkiBarcode 组件 选择要使用的条形码类型 微信支持的条码类型有 code128\code39\ena13\ean8\upc\itf14\ 扫码返回值 ...
  • 二维码条形码

    2016-07-11 09:30:39
    二维码 条形码 扫码器功能的实现需要的可以拿去用
  • wx.scanCode({ success: (res) => { console.log(res); let result =res.result; //只允许 字母 | 数字 | 字母+数字 if(!result || !... content:'请扫描正确的运单号条形码', showCancel:false ...
  • 手机扫条形码,调用手机的摄像头,然后传到标签,通过js进行解析
  • [color=#FF0000]代码是这样的:[/color] EncodingOptions options = new EncodingOptions(); options.PureBarcode = false; //是否将内容字符串显示在图片上。...通用的扫码枪,扫码没反应,这是啥情况 需要怎么处理
  • 使用unity3d 5.5.2实现了产生二维码 并使用zxing实现了 二维码可自定义内容
  • 目录 导语 一、ZXing简介 二、ZXing方法类源码 ...自从微信、支付宝推出扫一扫功能后,条形码、二维码的使用场景越来越丰富,扫码使用场景: 信息获取(名片、地图、WIFI密码、资料) 网站跳转(跳转到微博...
  • 扫码枪工具类的使用扫码枪工具类扫码枪工具类的使用,主意要在Activity内重新onKeyDown() 扫码枪工具类 import android.os.Handler; import android.view.KeyEvent; public class ScanGunKeyEventHelper { ...
  • 支付宝扫码付和条形码付款demo(java)
  • iOS 条形码不好的原因。

    千次阅读 2016-11-17 12:09:27
    二维码是秒杀,但是条形码却经常不上。如果去掉二维码的话,条形码扫描又秒杀的问题。为什么我们没有选用ZXing而是用AVfoundation呢,是因为我说服了老板,iOS7开发,而不再去兼容iOS5/6。所以我们终于
  • vue项目中实现H5调取摄像头扫码功能+生成可识别的条形码 案例描述:需求是生成条形码并且在vue项目中实现扫一扫功能并不是拍照上传后端识别那种 项目场景:单纯的h5项目,没办法调用微信等封装好的组件或者js因为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 852
精华内容 340
关键字:

条形码扫码