Максимальная длина поля адресной книги в J2ME
В настоящее время я использую Java ME для извлечения полей Адресной книги (ContactList) в устройстве через PIM (JSR75 Spec). У меня проблемы с получением максимальной длины значения поля, если тип данных поля - String. Я изначально думал, что есть метод в API, который похож на getFieldLength(int fieldId)
но к сожалению не нашел ни одного.
Есть ли способ, которым я могу получить это?
Мне нужно знать длину данных поля, потому что я читаю только само определение поля. Не значения. Мне нужно собрать все поддерживаемые поля в устройстве. Из этих полей мне нужно получить имя поля, тип данных и максимальную длину. Мы помещаем указанную информацию в наше серверное приложение для целей переноса устройства.
1 ответ
Получение максимальной длины поля не является частью API PIM.
Однако вы можете обойти это, пытаясь записать содержимое увеличенной длины в поле.
Неспособность написать контент приведет к исключению.
Для каждого поля, которое вы хотите проверить, напишите 512 байт, затем 1kb, 2kb, 4kb...
Я предполагаю, что большинство телефонов позволит вам записать все данные, которые вы хотите.
Не забудьте удалить поля между попытками записи.
Если вам действительно нужно быть точным с байтом, вы можете использовать дихотомию, как только вы найдете верхний предел.