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

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

Есть ли способ, которым я могу получить это?

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

1 ответ

Решение

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

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

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

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

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

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

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

Другие вопросы по тегам