android 扫码枪编程,android 扫码枪解惑
第一次知道超市用的那种扫描枪居然还可以通过蓝牙连接,直接把扫描结果显示在editText.
既然需求来了那就做把,刚开始一脸懵逼,google一下吧!看了几篇相关的文章大概了解有两种连接蓝牙的方式,一种是自己实现蓝牙的扫描,发现设备,连接设备,但是我觉得只是连一下扫描枪,用不到这么麻烦,因为这还涉及到版本支持,蓝牙4.3以及以上才可以用。还有一种方式,就是自己手动匹配连接扫描枪。这里我使用的是第二种实现方式,因此,这篇文章主要说说,在这种方式下遇到的坑。
扫描枪蓝牙连接或者断开的时候,会导致当前所在的activity onDestroy -> onCreate
即activity被销毁又重建,类似屏幕旋转导致activity重建
解决办法: 在xml中配置:android:configChanges="orientation|keyboard|keyboardHidden"
然后在activity中重写onConfigurationChanged()方法,不做任何处理,就是重写就行了
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
2.扫描枪一般都可以设置为扫描完自带回车。这就遇到问题了,本次扫描完,获取数据,然后edittext的文字不能清空,要一直显示着,直到下一次扫描,这就蛋疼了。
你也许想到了TextWatcher beforeChanged我也是这么想的,但是很纠结,因为有时候会有数据的第一位被清除的尴尬情况:
比如:扫描出来的数据应该是 1234567890;
但用了如上方法有时候文本框会只显示 234567890.
这样肯定不行。 后来想到通过hint做些文章。
扫描完成,获取扫描的数据后,就把文本框清空,然后把数据设置成hint, 然后hint文字的颜色跟输入的文字颜色相同。
android 扫码枪编程,android 扫码枪解惑相关推荐
- android开发重要控件,Android界面编程——Android基本控件
Android界面编程 Android应用开发的一项重要内容就是界面开发.对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户. 作为一个程序员 ...
- Android Socket编程android端服务器和客户端的实现
Android Socket编程android端服务器和客户端的实现 其实和java实现的差不多,或本质是用java实现的,但由于android有自身的独特性,所以还是有一些要注意的点: ...
- android高级编程-android高级应用
android高级应用>>> 第一阶段 程序员基本素质养成 程序员所需要具备的12条职业素质 让学员初步了解和审视自己所应该具备的职业素质.并且我们会在授课中随时训练和贯彻这样的素质 ...
- android 蓝牙 编程,Android编程之蓝牙测试实例
本文实例讲述了Android编程之蓝牙测试.分享给大家供大家参考.具体分析如下: 一.软件平台: win7 + eclipse + sdk 二.设计思路: 配合倒计时定时器实现蓝牙打开,可见,扫描三个 ...
- android surface编程,Android编程之SurfaceView实例详解
本文实例讲述了Android编程之SurfaceView用法.分享给大家供大家参考,具体如下: 关于surfaceView相关知识: View和SurfaceView主要区别: 1. View只能在U ...
- android日历编程,Android日历控件PickTime代码实例
最近做项目,需要设置用户的生日,所以做这样一个功能. 开始发觉自带的DatePicker 很是不好用. 上代码: android:id="@+id/dpPicker" androi ...
- android 字体编程,Android编程之Calligraphy:Android 自定义字体库
Calligraphy是android 自定义字体库 添加依赖 Download from Maven Central (.jar) OR Java dependencies { compile 'u ...
- android 扫码枪编程,Android扫描枪(PDA)开发
@Override public void onBackPressed() { new AlertDialog.Builder(this).setTitle("确认退出吗?") . ...
- android gpu 编程,Android设备上的GPU编程
1)Programming Smartphone's GPU and programming other GPU (Nvidia GeForce 9 for example) are equal? 不 ...
最新文章
- 2-1-XML和约束文档
- 我弟弟用管理员身份把我和爸妈的WIFI设置了,现在就他能用网,气不过,有办法让我出口气吗?
- 在Unity3D中实现安卓平台的本地通知推送
- 百度换肤,表单全选案例
- 使用Keras-yolov3来识别滑动验证码
- 计算机电子怎么安装,教你怎样自己组装电脑
- eslint: globals
- 灰度值为负?问题可能出在这里
- 有的人呀,他真的是带不动。。。
- Android 应用桌面角标显示
- pyspark:ML和MLlib
- html手抄报怎么制作软件,如何用word制作一个精美的电子板报
- eclipse网络代理设置
- 第十三课功能键之开根号——C#计算器编程教学
- 机器语言-汇编语言-高级语言各自优缺点
- 电脑连蓝牙耳机,放音乐是用蓝牙耳机,浏览器不能用蓝牙耳机,用的扬声器,解决方案:
- 详解Java中的main方法
- Windows Server 2012/2016 在桌面上显示“我的电脑”图标
- git合并多个远程commit并提交
- 高级商务办公软件应用【8】