Intereting Posts
Ssl на андроид странный вопрос Вспышка внутри Android WebView – Как автоматически установить полноэкранный режим? IndexOutOfBounds на Spinner? Обработчики, MessageQueue, Looper, все ли они работают в потоке пользовательского интерфейса? Java.lang.StringIndexOutOfBoundsException: index = 0 length = 0 в базе данных get sqlite Могу ли я масштабировать эмулятор genymotion до «устройства реального размера»? Пользовательский SimpleCursorAdapter, запрос базы данных и исключение NullPointerException Как я могу вызвать getContentResolver в android? Настраивать маркер изображения, высоту и ширину Изменение размера изображения до полной ширины и фиксированной высоты с помощью Picasso Автоматическое определение номера телефона, электронной почты и URL-ссылки в Webview – Android sdk Как я могу глобально настроить ориентацию экрана в Android? Как я могу отобразить диалоговое окно над клавиатурой Требуется разрешение android – call_phone? Изменение цвета растрового изображения с функцией

Оператор switch с аргументом string в качестве аргумента в Android

Я хотел бы использовать оператор switch, как в Java 1.7, который также позволяет switch(someString) . Однако, если я сменил java-компилятор на 1,7, проект разбился, и я либо должен вернуться к 1.5, либо использовать android tools-> fix project .

Есть ли способ использовать переключатель со строками в разработке Android?

РЕДАКТИРОВАТЬ

Лично я не пробовал, но, согласно странице Системные требования Android , он не поддерживается. Тем не менее, это не значит, что это не сработает, просто вы вряд ли получите много / любую помощь по этому вопросу от Google / Android.

JDK 5 или JDK 6 (одного JRE недостаточно)

По потенциально позитивной ноте (найденной с помощью @Emil H и его комментариями) я нашел эту информацию в Интернете:

Из Далвика в Википедии :

Программы обычно записываются на диалекте Java и скомпилированы в байт-код. Затем они преобразуются из совместимых с Java Virtual Machine файлов .class в файлы, совместимые с Dalvik .dex (Dalvik Executable) …

Если байт-код не изменяется от версии 6 до 7 (исключая добавленную invokedynamic упомянутую @David Schwartz, какие операторы switch не должны использовать.), Тогда она должна работать …

Вы должны иметь возможность использовать JDK7 с Android. Проверьте этот ответ на соответствующий вопрос:

https://stackoverflow.com/a/7481063/355499

РЕДАКТИРОВАТЬ:

Пробовал это на местном уровне, и все отлично работает с JDK7 (это то, что я использую при разработке). Тем не менее, я не могу найти способ изменить уровень соответствия с 1.6 до 1.7 в моем проекте Android. Если вы действительно хотите это сделать, я думаю, вам придётся прибегать к созданию вашего проекта другими способами, кроме использования Eclipse. Например, используя скрипт ant или аналогичный. Может быть, немного больше работы, чем того стоит.

На данный момент это невозможно: хотя в компиляторе Java 1.7 был введен оператор switch со String, к сожалению, для Android требуется версия 1.6 или 1.5. Поэтому мы должны ждать.