iis服务器助手广告
返回顶部
首页 > 资讯 > 移动开发 >android读取扫码模组数据的方法
  • 626
分享到

android读取扫码模组数据的方法

2024-04-02 19:04:59 626人浏览 独家记忆
摘要

本文实例为大家分享了Android读取扫码模组数据的具体代码,供大家参考,具体内容如下 android读取扫码模组数据 **在dispatchKeyEvent方法中承接读取的数据**

本文实例为大家分享了Android读取扫码模组数据的具体代码,供大家参考,具体内容如下

android读取扫码模组数据 **在dispatchKeyEvent方法中承接读取的数据**

在dispatchKeyEvent方法中承接读取的数据


private StringBuilder mScanCodeBuilder = new StringBuilder();
   @Override
    public boolean dispatchKeyEvent(@NonNull KeyEvent event) {
        LogUtil.d(TAG, "dispatchKeyEvent " + event.getAction() + ",   " + event.geTKEyCode());
           checkLetterStatus(event);//判断大小写字母
        if (event.getAction() == KeyEvent.ACTION_DOWN) {

             mScanCodeBuilder.append(getInputCode(event));
            if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
                //若为回车键,直接返回
                String scanResult = mScanCodeBuilder.toString();
                mScanCodeBuilder.setLength(0);
                LogUtil.d(TAG, "dispatchKeyEvent, " + scanResult);
                String scanResults = scanResult.replace(" ", "");
            } else {
                //延迟post,若500ms内,有其他事件
                mHandler.removeCallbacks(mScanningFishedRunnable);
                mHandler.postDelayed(mScanningFishedRunnable, 500);
            }

            return true;
        }
        return super.dispatchKeyEvent(event);
    }

判断大小写字母


private void checkLetterStatus(KeyEvent event) {

        int keyCode = event.getKeyCode();
        if (keyCode == KeyEvent.KEYCODE_SHIFT_RIGHT || keyCode == KeyEvent.KEYCODE_SHIFT_LEFT) {
            if (event.getAction() == KeyEvent.ACTION_DOWN) {
                //按着shift键,表示大写
                mCaps = true;
            } else {
                //松开shift键,表示小写
                mCaps = false;
            }
        }
    }

读取字符方法


private char getInputCode(KeyEvent event) {
    int keyCode = event.getKeyCode();
    char aChar;
    if (keyCode >= KeyEvent.KEYCODE_A && keyCode <= KeyEvent.KEYCODE_Z) {
        //字母
        aChar = (char) ((mCaps ? 'A' : 'a') + keyCode - KeyEvent.KEYCODE_A);
    } else if (keyCode >= KeyEvent.KEYCODE_0 && keyCode <= KeyEvent.KEYCODE_9) {
        //数字
        aChar = (char) ('0' + keyCode - KeyEvent.KEYCODE_0);
    } else {
        //符号
        switch (keyCode) {
            case KeyEvent.KEYCODE_GRAVE:
                aChar = '`';
                break;
            case KeyEvent.KEYCODE_COMMA:
                aChar = ',';
                break;
            case KeyEvent.KEYCODE_APOSTROPHE:
                aChar = '\'';
                break;
            case KeyEvent.KEYCODE_POUND:
                aChar = '#';
                break;
            case KeyEvent.KEYCODE_STAR:
                aChar = '*';
                break;
            case KeyEvent.KEYCODE_PERIOD:
                aChar = '.';
                break;
            case KeyEvent.KEYCODE_MINUS:
                aChar = mCaps ? '_' : '-';
                break;
            case KeyEvent.KEYCODE_SLASH:
                aChar = '/';
                break;
            case KeyEvent.KEYCODE_BACKSLASH:
                aChar = mCaps ? '|' : '\\';
                break;
            case KeyEvent.KEYCODE_EQUALS:
                aChar = '=';
                break;
            case KeyEvent.KEYCODE_SEMICOLON:
                aChar = ';';
                break;
            case KeyEvent.KEYCODE_PLUS:
                aChar = '+';
                break;
            case KeyEvent.KEYCODE_AT:
                aChar = '@';
                break;
            case KeyEvent.KEYCODE_LEFT_BRACKET:
                aChar = '[';
                break;
            case KeyEvent.KEYCODE_RIGHT_BRACKET:
                aChar = ']';
                break;
            default:
                aChar = ' ';
                break;
        }
    }
    Log.d(TAG, "char" + aChar);
    return aChar;
}

延迟500毫秒相关


private Handler mHandler = new Handler(this);
    private final Runnable mScanningFishedRunnable=new Runnable() {
        @Override
        public void run() {

        }
    };

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: android读取扫码模组数据的方法

本文链接: https://www.lsjlt.com/news/137012.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • android读取扫码模组数据的方法
    本文实例为大家分享了android读取扫码模组数据的具体代码,供大家参考,具体内容如下 android读取扫码模组数据 **在dispatchKeyEvent方法中承接读取的数据**...
    99+
    2024-04-02
  • Android接入USB扫码模块的方法
    前言 USB扫码模块可以是扫描盒子或者扫码枪之类的,一根USB线作为供电和数据通信使用,有些扫码模块支持虚拟串口模式,虚拟串口模式读取数据会比较简单一点,和普通的串口一样操作即可,...
    99+
    2024-04-02
  • js获取USB扫码枪数据的方法
    本文实例为大家分享了js获取USB扫码枪数据的具体过程,供大家参考,具体内容如下 废话不多说,直接上代码,这个方法避免了 首字缺失,字符串乱码等等问题,特别好用,记录一下 中间的Aj...
    99+
    2024-04-02
  • Android 扫码枪不使用输入框获取扫描值的操作方法
    dispatchKeyEvent获取扫描结果 这是在CSDN上看到的评论,打印出来的并没有有关扫描的信息,我把打印的日志放在了最外层,发现其中一条是有关扫描的条码 event Ac...
    99+
    2024-04-02
  • Python中JSON数据的读取方法
    小编给大家分享一下Python中JSON数据的读取方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、...
    99+
    2023-06-14
  • springboot读取application.yaml文件数据的方法
    本文实例为大家分享了springboot读取application.yaml文件数据的具体代码,供大家参考,具体内容如下 提示:以下是本篇文章正文内容,下面案例可供参考 一、创建并编...
    99+
    2024-04-02
  • kafka读取数据的方法是什么
    Kafka提供了几种读取数据的方法,包括以下几种:1. 使用消费者组进行订阅和消费:Kafka消费者可以通过订阅一个或多个主题来消费...
    99+
    2023-10-12
    kafka
  • 读取localstorage数据的方法是什么
    要读取Localstorage数据,可以使用以下方法:1. 使用`localStorage.getItem(key)`:可以通过指定...
    99+
    2023-09-20
    localstorage
  • java读取数据的方法有哪些
    Java读取数据的方法有以下几种:1. 使用Scanner类:Scanner类是Java中常用的读取数据的类,可以从控制台、文件、字...
    99+
    2023-08-09
    java
  • Android开发实现读取excel数据并保存为xml的方法
    本文实例讲述了Android开发实现读取excel数据并保存为xml的方法。分享给大家供大家参考,具体如下:前阵子,公司请外面人翻译了一些android中values中的一些strings,然而保存的都是excel格式,如果单纯的将exce...
    99+
    2023-05-30
    android excel xml
  • Android传感器数据获取的方法
    本文实例为大家分享了Android传感器数据获取的具体代码,供大家参考,具体内容如下 接着上篇wifi列表获取,我们这篇接着说传感器。还是看代码 我们先自己定义一个传感器的工具类(因...
    99+
    2024-04-02
  • Python从csv文件中读取数据及提取数据的方法
    目录1.从csv文件中读取数据2.数据切割数据保存在csv文件中 1.从csv文件中读取数据 参数header=None的有无 (1)没有header=None——直接将csv表中...
    99+
    2024-04-02
  • 解决PHP读取数据库中文乱码的有效方法
    解决PHP读取数据库中文乱码的有效方法 随着网络技术的不断发展,PHP作为一种广泛应用的服务器端脚本语言,被许多网站开发者所使用。在开发过程中,经常需要与数据库进行交互,然而在读取数据...
    99+
    2024-04-02
  • android读取短信的方法是什么
    Android读取短信的方法可以通过使用 BroadcastReceiver 和 ContentResolver 两种方式来实现。1...
    99+
    2023-08-12
    android
  • Pandas读取行列数据最全方法
    1、读取方法有按行(单行,多行连续,多行不连续),按列(单列,多列连续,多列不连续);部分不连续行不连续列;按位置(坐标),按字符(索引);按块(list);函数有 df.iloc(...
    99+
    2024-04-02
  • C#读取txt文件数据的方法实例
    第一步新建txt文件,写入内容 我是放在D盘下的,数据以逗号隔开的,是英文逗号 第二步读取数据 在需要读取数据的页面,添加代码,就可以了 private void Phone...
    99+
    2024-04-02
  • pytorch读取csv数据集的方法有哪些
    在PyTorch中读取CSV数据集通常有以下几种方法: 使用Pandas库读取CSV文件,并将其转换为PyTorch张量: im...
    99+
    2024-04-02
  • Unity 数据存储和读取的方法汇总
    目录数据场景PlayerPrefs序列化与反序列化JsonXML在 Unity 中实现对游戏数据存储和读取的方法主要有这几种: 使用本地持久化类 PlayerPrefs使用...
    99+
    2022-11-13
    Unity 数据存储和读取 Unity 数据存储
  • Python逐行读取数据的方法是什么
    要逐行读取数据,可以使用Python内置的open函数打开文件,并使用for循环逐行读取数据。下面是一个示例代码: with ope...
    99+
    2024-04-02
  • 阿里云读取用户数据库的方法
    阿里云是中国最大的云计算服务提供商,拥有丰富的数据库服务资源。本文将详细介绍如何使用阿里云读取用户数据库的方法。 一、准备环境在开始读取用户数据库之前,需要先准备好环境。首先,你需要在阿里云上创建一个数据库,并在数据库中创建一个用户,然后将...
    99+
    2023-11-18
    阿里 数据库 方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作