Android串口设备的应用实现方案以及与WEB的交互

    这段时间主要做串口设备相关的应用程序,这里总结下串口设备实现的方案以及与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

你可能感兴趣的:(JavaScript,android,Web,webservice,服务器,web服务)