一切都是从ScratchPad(暂存器)这个单词开始的。在这里,我要说的ScratchPad是一种协议,它用来从网络或者本地的输入流获取二进制并将这些数据进行本地化。说到这里就要先介绍一下这个协议的出处。
“DoJa是NTT DoCoMo用于其i-mode服务的Java应用概要。它运行在J2ME CLDC API上。”
“DoJa应用能够把应用中产生的数据及从网络下载的数据存储到手机终端。这个功能叫作ScratchPad。 ”
该协议的语法遵从通用连接框架(Generic Connection Framework),简单的说就是工厂模式。使用Connector(连接器)来创建连接,这些不同的连接方式对应不同的数据交换协议。它们都使用通用连接框架所定义的接口来实现功能。
这个连接框架的连接参数由协议本身规定,在定义时需要提供连接字符串,由服务器来完成解析。这个连接字符串的约定可以参考RFC 2396。下面是说明:
The parameter string that describes the target should conform to the URL format as described in RFC 2396. This takes the general form:
{scheme}:[{target}][{parms}]
where {scheme} is the name of a protocol such as http}.
The {target} is normally some kind of network address.
Any {parms} are formed as a series of equates of the form ";x=y". Example: ";type=a".
与之对应的MIDP中实现本地化的方法是采用RMS存储管理器,这个管理器比起CLDC级别的API当然要好用一些。不过最好自己亲自实现ScratchPad的存储管理,一方面可以把RMS作为目标,一方面可以更好的理解CLDC中定义的java.io中的API。这些API跟移动扩展javax.microedition.io结合可以完成移动平台应用程序的数据交互。当然MIDP中的RMS扩展或者DOJA中的DoCoMo的IO扩展也许都会有很方便使用的API。但是Byte级别的数据控制拥有很大的利用空间,因为它开放(原始)。
我的主要目的是“依葫芦画瓢”,就是照着高层接口自己包装地层的接口,根据自己的使用情况实现针对应用的特殊功能。
这样做的原因很简单,就是为了学习。
博客介绍了ScratchPad协议,它用于从网络或本地输入流获取二进制数据并本地化。该协议出自DoJa,语法遵从通用连接框架。MIDP用RMS存储管理器实现本地化,建议亲自实现ScratchPad存储管理,结合相关API完成数据交互,目的是学习。
899

被折叠的 条评论
为什么被折叠?



