Максимальная длина поля адресной книги в J2ME

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

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

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


person alben_diesel    schedule 27.06.2012    source источник
comment
Если вы используете jsr75 только для чтения данных с устройства, зачем вам знать длину данных поля? Можете ли вы опубликовать код?   -  person michael aubert    schedule 27.06.2012
comment
Я только прочитал само определение поля. Не ценности. Мне нужно собрать все поддерживаемые поля в устройстве. Из этих полей мне нужно получить имя поля, тип данных и максимальную длину. Мы помещаем указанную информацию в наше серверное приложение для целей переноса устройства.   -  person alben_diesel    schedule 27.06.2012


Ответы (1)


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

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

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

Для каждого поля, которое вы хотите протестировать, напишите 512 байт, затем 1 КБ, 2 КБ, 4 КБ...

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

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

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

person michael aubert    schedule 27.06.2012
comment
Кажется, это имеет смысл. Попробую сделать это в нашем проекте. Спасибо за помощь. :) - person alben_diesel; 28.06.2012