【问题标题】:Maximum Length of an Addressbook Field in J2MEJ2ME 中地址簿字段的最大长度
【发布时间】:2012-06-27 03:32:54
【问题描述】:

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

有什么办法可以得到这个吗?

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

【问题讨论】:

  • 如果你只是使用jsr75从设备读取数据,为什么需要知道字段的数据长度?你能发布一些代码吗?
  • 我只阅读了字段定义本身。不是价值观。我需要收集设备中所有支持的字段。从这些字段中,我需要获取字段的名称、数据类型和最大长度。我们将上述信息放入我们的服务器应用程序以进行设备移植。

标签: java-me jsr75 pim


【解决方案1】:

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

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

内容写入失败会抛出异常。

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

我的猜测是,大多数手机都会允许你写入所有你想要的数据。

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

如果你真的需要精确到字节,你可以在找到上限后使用二分法。

【讨论】:

  • 似乎有道理。我会尝试在我们的项目中做到这一点。谢谢您的帮助。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 2011-05-27
  • 2010-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多