2012-06-27 4 views
3

В настоящее время я использую Java ME для извлечения полей Addressbook (ContactList) в устройстве через PIM (JSR75 Spec). У меня возникают проблемы с получением максимальной длины значения поля, если тип данных поля является строкой. Первоначально я думал, что в API есть метод, похожий на getFieldLength(int fieldId), но, к сожалению, не нашел его.Максимальная длина поля адресной книги в J2ME

Есть ли способ получить это?

Мне нужно знать длину данных поля, потому что я только прочитал определение поля. Не значения. Мне нужно собрать все поддерживаемые поля в устройстве. Из этих полей мне нужно получить имя поля, тип данных и максимальную длину. Мы помещаем указанную информацию в наше серверное приложение для целей портирования устройств.

+1

Если вы используете только данные jsr75 для READ с устройства, почему вам нужно знать длину данных поля? можете ли вы опубликовать код? –

+1

Я только прочитал само определение поля. Не значения. Мне нужно собрать все поддерживаемые поля в устройстве. Из этих полей мне нужно получить имя поля, тип данных и максимальную длину. Мы помещаем указанную информацию в наше серверное приложение для целей портирования устройств. –

ответ

2

Извлечение максимальной длины поля не является частью PIM API.

Однако вы можете обойти это, пытаясь написать содержание увеличивающейся длины в поле.

Неспособность написать контент будет вызывать исключение.

Для каждого поля, которое нужно проверить, написать 512 байт, затем 1кб 2kB, 4kb ...

Я думаю, что большинство телефонов позволят записать все данные, которые вы хотите.

Не забывайте удалять поля между попытками записи.

Если вам действительно нужно быть точным для байта, вы можете использовать дихотомию, как только вы найдете верхний предел.

+0

Кажется, имеет смысл. Я постараюсь сделать это в нашем проекте. Спасибо за помощь. :) –