我目前正在使用Java ME通过PIM(JSR75 Spec)提取设备中的Addressbook(ContactList)字段。如果字段的数据类型是字符串,则在获取字段的值的最大长度时遇到问题。我最初认为API中的方法与getFieldLength(int fieldId)
类似,但遗憾的是没有找到。
我有办法解决这个问题吗?
我需要知道字段的数据长度,因为我只读取字段定义本身。不是价值观。我需要收集设备中所有支持的字段。从这些字段中,我需要获取字段的名称,数据类型和最大长度。我们将上述信息放入我们的服务器应用程序以进行设备移植。
答案 0 :(得分:2)
检索字段的最大长度不是PIM API的一部分。
然而,您可以通过尝试将增加长度的内容写入字段来解决这个问题。
无法写入内容会引发异常。
对于您要测试的每个字段,写入512字节,然后写入1kb,2kb,4kb ......
我的猜测是,大多数手机都可以让你写下你想要的所有数据。
请记住在写入尝试之间删除字段。
如果你真的需要精确到字节,你可以在找到上限后使用二分法。