起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4893|回复: 1

[分享] 分享:安卓手持设备打印机和扫描头封装成CORDOVA插件

[复制链接]

851

主题

2560

帖子

5714

积分

论坛元老

Rank: 8Rank: 8

积分
5714
QQ
发表于 2018-1-22 17:29:01 | 显示全部楼层 |阅读模式
      近年来,安卓手持终端发展迅速,大量的设备都集成到了一个小的手持终端上,如酒店里使用的点菜设备,快递小哥手里的速递通,医院护士用的医疗终端。这些终端上都集成了大量的硬件设备。如:打印机,扫描头,各种读卡器,指纹识别器,红外温度感应,RFID等各种神奇的设备,这些设备都是由各个不同的硬件厂家生产出来的,相同的硬件,不同的厂家提供的驱动程序都是不一样的,这种变化对于安卓原生开发来说问题不大,只需要认真的读一下厂家提供的API,很快就能上手干活了。因为厂家都会为己的硬件产品提供API JAR包。但这种变化对我们这些使用混合开发工具的小伙伴们,就很头大了。现在通常的解决方法,就是对这些硬件的接口,使用CORDOVA进行再次封装。   今天就拿优博讯i6300A做样机,给大家分享一下如何把厂家提供的jar包,封装成web层可以调用的js方法。

第一步:
  • 上cordova官网下载一个现成的printer插件 。上官网搜索printer就行。
  • 解压下载的文件,再copy到Native/plugins目录下。
  • 看下面的示意思图,理解cordova的工作机制。
  • JAVA层监听到数据之后,通过回调函数返给WEB层
  • Web层主动调用JAVA层的方法
  • 以下是各个部分的代码示例及说明。我尽量把思想阐述明白,但真正的实现还要请小伙伴自己动手,多想,多验证。最麻烦的就是在混合开发模式下,没有一个有效的调试方法。代码写好后需要打包成APK文件,因为在打包APK文件的时候,打包工具会对所有插件进行编译。然后再安装到设备上,进行调试。我做了一个打印功能,一个扫描功能,至少打包了200次。
  • 再给大家分享一个经验,先通过安卓原生开发,把功能调试好,再把这些已经调试好的功能,封装到一个类里,在cordova实现类里,直接调用这些已经调试通过的方法。这样能大大减少打包调试的次数。如果没有安卓原生开发能力的小伙伴,可以找找身边的朋友帮忙一下。
  • QQ截图20180122161618.png
  • QQ截图20180122162001.png
  • QQ截图20180122162644.png
  • QQ截图20180122162843.png
  • QQ截图20180122163056.png
  • QQ截图20180122163306.png
  • QQ截图20180122163412.png
  • 新建位图图像.jpg
  • QQ截图20180122164242.png
  • QQ截图20180122164336.png
  • QQ截图20180122170859.png
企业应用定制开发。X5开发者。
手机:15065117236
QQ:87356667

851

主题

2560

帖子

5714

积分

论坛元老

Rank: 8Rank: 8

积分
5714
QQ
 楼主| 发表于 2018-1-22 17:34:19 | 显示全部楼层
我发错模块了,应该发到WEX5板块中。这可怎么办?管理员给操作一下呗
企业应用定制开发。X5开发者。
手机:15065117236
QQ:87356667
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-2 16:35 , Processed in 0.071112 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表