这段时间主要做串口设备相关的应用程序,这里总结下串口设备实现的方案以及与Web之间的交互。前段时间有写过一篇关于串口应用程序实现的原理Android 串口编程原理和实现方式(附源码),以及Android调用WebService之服务端实现(一)以及Android调用WebService之客户端实现(二)。这几篇博客只简述了代码的实现,并没有做更多的说明,借这篇文章来简单做个记录。

一、USB转串口在Android中的实现方式

a) 串口读写的实现方式:在Java中实现串口的读写比较简单,调用Java标准的API对文件设备进行读写即可,通过JNI打开设备并返回设备文件,在Java中直接对其操作。


b)读串口通过启动一个线程读取串口信息,这里必须注意的问题是:

1、由于在Java中是通过InputStream.read(bufferSize)来读取串口信息,而read方法会一直阻塞,等待读取数据;

2、读取串口信息时并不是一次读取所有传过来的信息,而是每次读取不同长度的数据。

根据以上两点在开发的过程中要监听数据是否传递完毕,必须通过传递一个束符来判断

写串口,也就是发送命令,串口发送数据的方式有几种,主要是发送不同的编码,二进制,16进制等。16进制发送,发送格式如(AA BB CC DD),必须按照这种方式发送数据,否则不会响应,可以使用“串口调试助手”进行测试。

二、Web程序与Android应用程序的交互方式

目前在Android中与Web程序进行数据交互有两种方式


a) 使用Android提供的空间WebView,可以在Android程序中调用JavaScript的方法对表单进行赋值,也可以再JavaScript中调用Android中的方法执行相关操作;

b) 通过SOAP调用WebService服务,将Android的数据传递到Web服务,再由Web服务做相关处理。

建议在服务端实现Web Service,供客户端调用,可以简化客户端(Android应用)实现相关功能。若是如此,在Android应用程序中便可以非常简单的实现登录注册等功能,然后将数据传递到服务器,由服务器处理。

以Android调用Web Service为例:Android通过外挂设备扫描数据,将数据转换成JSON格式或者XML格式,传递到服务器,服务器根据具体的业务需求判断数据是否完整或者登录是否成功,将信息反馈到客户端。客户端做相应的处理。


由于这几个项目跟Web应用程序相关,所以这里并不建议使用WebView来实现于Web进行交互。如果必定要用WebView来实现具体的业务需求,就需要实现部分浏览器的功能,而使用Android应用程序则可直接调用浏览器。在上面的流程图中的“其他操作”中,假设模拟的是一个登录功能,服务端可以返回一个链接,在Android程序中可以用这个链接直接在默认的浏览器中打开!

三、其他

开发过程中必须明确理解业务需求编写相应文档进行开发,关于数据传递需要与服务端开发者进行沟通,制定相关接口。

四、参考资料

《串口通讯编程实践》作者:龚建伟熊光明 2004年10月第一版电子工业出版社

《Linux下串口通讯编程与调试》

《JNI详解》

串口调试助手

原创文章,转载请注明出处:http://blog.csdn.net/tangcheng_ok

更多相关文章

  1. 解读Android(安卓)LOG机制的实现:(2)JAVA域输出LOG
  2. Android分享文件到微信和QQ功能的实现(兼容android 7.0以上的共享
  3. 【quickhybrid】Android端的项目实现
  4. android底层HAL层深入了解
  5. Android(安卓)系统中 gps Location Service 的实现与架构,本文可
  6. 系统总结归纳一下android
  7. 浅谈Java中Collections.sort对List排序的两种方法
  8. mybatisplus的坑 insert标签insert into select无参数问题的解决
  9. python起点网月票榜字体反爬案例

随机推荐

  1. Mac系统下android studio无法识别手机
  2. Android Studio系列(三)Version Control I
  3. Android中如何解决输入法键盘和activity
  4. 详解 Android 的 Activity 组件
  5. [置顶] Android 安装详解---Mr.Zhang
  6. Android安全机制探讨
  7. Android 安全攻防(二): SEAndroid bionic
  8. android之shape
  9. “加一”项目总结--android使用篇(二)(转)
  10. Android ROM研究---如何在ubuntu下下载姜