Подтвердить что ты не робот

Не может вызвать String.isEmpty() в android

В моем приложении Android я не могу использовать функцию String.isEmpty(), которая находится в JDK 1.6. Android 2.1 lib не имеет этой функции в классе java.lang.String

Я попытался ввести библиотеку JRE System в свой проект, потому что у нее есть эта функция, но эффектов не было.

Как я могу решить эту проблему и разрешить моему приложению использовать эту функцию?

4b9b3361

Ответ 1

Как я могу решить эту проблему и разрешить моему приложению использовать эту функцию?

Вы не можете.

Используйте String.length() == 0 вместо этого. Он обратно совместим с JDK 1.0... и с J2ME.

String.equals("") - еще одна альтернатива.


Вы уверены, что нет возможности настроить Eclipse для ввода классов кода из определенных библиотек?

Нет, если вы хотите, чтобы ваше приложение запускалось на реальном устройстве Android. Платформы Java/Android преднамеренно затрудняют вам работу с поведением библиотек основных классов. Для начала вы можете сделать это только путем изменения эквивалента Davlik файла bootclasspath или rt.jar, и ни одно из них не может быть выполнено в JVM с запуском.

Такой способ манипулирования может потенциально нарушить Java для других приложений. Даже если предположить, что вы не можете напрямую нарушать разделение приложений Android (из-за разрыва процесса /uid, упомянутого ниже), вредоносные твики для (общих) основных классов Java могли бы потенциально позволить одному приложению вмешиваться или украсть информацию из другого приложения.

Ответ 2

Вместо этого вы можете использовать android.text.TextUtils.isEmpty(). Этот метод также проверяет, имеет ли String значение null и был доступен с уровня API 1.

if (TextUtils.isEmpty(str)) {
    Log.d(TAG, "String is empty or null!");
}

Ответ 3

этот метод появился в API9, поэтому вы не можете его использовать до Android2.3

Ответ 4

Насколько я знаю, андроид поддерживает java 5, поэтому нет isEmpty();, вы можете использовать length() для имитации isEmpty()

Ответ 5

Вы можете использовать этот TextUtils.isEmpty(str). Это доступно с уровня API 1 или вы можете создать свой собственный метод, например ниже

public boolean isEmpty(CharSequence str) {
    if (str == null || str.length() == 0)
        return true;
    else
        return false;
}

Ответ 6

"" равно (yourString). также дает такое же поведение, как String.isEmpty();

Ответ 7

Вам необходимо обновить API для Android до уровня 9 или вместо этого использовать String.trim().length()==0 или String.equals(""), он должен работать для вашего уровня API Android и вашей версии JDK.