3

我目前正在使用 Java ME 通过 PIM(JSR75 规范)提取设备中的地址簿(ContactList)字段。如果字段的数据类型是字符串,我在获取字段的值的最大长度时遇到问题。我最初认为 API 中有一个方法,getFieldLength(int fieldId)但不幸的是没有找到。

有没有办法让我得到这个?

我需要知道字段的数据长度,因为我只读取字段定义本身。不是价值观。我需要收集设备中所有支持的字段。从这些字段中,我需要获取字段的名称、数据类型和最大长度。我们将上述信息放入我们的服务器应用程序以进行设备移植。

4

1 回答 1

2

检索字段的最大长度不是 PIM API 的一部分。

但是,您可以通过尝试将长度增加的内容写入该字段来解决此问题。

未能写入内容将引发异常。

对于您要测试的每个字段,写入 512 个字节,然后写入 1kb、2kb、4kb...

我的猜测是,大多数手机都可以让你写下你想要的所有数据。

请记住在写入尝试之间删除字段。

如果您确实需要精确到字节,则可以在找到上限后使用二分法。

于 2012-06-27T09:07:55.440 回答