http://blog.csdn.net/tangcheng_ok/article/details/7168993


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

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

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

Android串口设备的应用实现方案以及与WEB的交互_第1张图片

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

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

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

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

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

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

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

Android串口设备的应用实现方案以及与WEB的交互_第2张图片

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

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

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

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

Android串口设备的应用实现方案以及与WEB的交互_第3张图片

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

三、其他

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

四、参考资料

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

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

《JNI详解》

串口调试助手

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

更多相关文章

  1. Android数据库ORMlite框架翻译系列(第一章)
  2. Android - 支持不同的设备 - 支持不同的平台版本
  3. Android中Input型输入设备驱动原理分析(一)
  4. Google:五亿Android设备激活
  5. PC端如何通过USB线与Android设备通信
  6. android 数据库sqlite的使用
  7. Android创建和使用数据库详细指南(1)
  8. Android中数据存储——SharedPreferences存储数据

随机推荐

  1. 原理+代码|详解层次聚类及Python实现
  2. 实战|手把手教你用Python爬取存储数据,还能
  3. 自学系列|兴趣能不能转化为工作?
  4. 使用这个 Python 库,只需一行命令,给头像戴
  5. 天秀!一张图就能彻底搞定Pandas!
  6. PySimpleGUI | 用Python玩转GUI开发,为什么
  7. 一篇长文带你在python里玩转Json数据
  8. PySimpleGUI 进阶| 原来用Python做一个图
  9. 如何用Python读取Excel中图片?又如何用Pyt
  10. 动画:老大,不好了,内存泄漏了!