Следуйте этой ссылке для новых обновлений. Использовать функции языка Java 8
Старый ответ
Начиная с версии Android N preview Android поддерживает ограниченные возможности Java 8, см. Функции языка Java 8
Чтобы начать использовать эти функции, вам необходимо загрузить и настроить Android Studio 2.1 и Android N Preview SDK, который включает в себя необходимую инструментальную цепочку Jack и обновленный Android-модуль для Gradle. Если вы еще не установили SDK для предварительного просмотра Android N, см. «Настроить для Android для Android N .
Поддерживаемые Java 8 языковые функции и API
Android в настоящее время не поддерживает все функции языка Java 8. Тем не менее, следующие функции теперь доступны при разработке приложений, ориентированных на Android N Preview:
Способы по умолчанию и статические интерфейсы
Лямбда-выражения (также доступны на уровне API 23 и ниже)
Ссылки на методы (также доступный на уровне API 23 и ниже)
Есть некоторые дополнительные функции Java 8, поддерживаемые Android, вы можете увидеть полную информацию из Java 8 Language Features
Обновить
Примечание: Android N основывает свою реализацию лямбда-выражений на анонимных классах. Этот подход позволяет им быть обратно совместимыми и исполняемыми в более ранних версиях Android. Чтобы проверить лямбда-выражения на более ранних версиях, не забудьте перейти в файл build.gradle и установить для compileSdkVersion и targetSdkVersion значение 23 или ниже.
Обновление 2
Теперь Android Studio 3.0. Библиотеки Java 8 и функции языка Java 8 (без компилятора Jack).
Приблизительно 10 сторонних компонентов, все с исходным кодом.
blockquote>Я бы добавил, что если компонент не поддерживает Delphi 2009/2010, Попробуйте обновить его, взломав код.
Ниже приведено то, что я опубликовал на . Как работают новые типы строк в Delphi 2009/2010? :
См. Delphi и Unicode , белая статья, написанная Marco Cantù, и я предполагаю, что The Absolute Minimum Каждый разработчик программного обеспечения абсолютно уверен, должен знать об Unicode и наборах символов (No Excuses!) [/ G2], написанный Джоэлем
Одна ошибка заключается в том, что вызов по умолчанию Win32 API был сопоставлен с использованием версии W (широкая строка) вместо версии A (ANSI), например
blockquote>ShellExecuteA
. Если ваш код делает сложный код указателя, предполагая внутренняя компоновкаAnsiString
, она сломается. Резерв должен заменитьPChar
наPAnsiChar
,Char
наAnsiChar
,string
сAnsiString
и добавить A в конце вызова Win32 API для этой части кода. После того, как код действительно компилируется и запускается нормально, вы можете реорганизовать свой код для использованияstring
(UnicodeString
).
Я должен добавить эту статью от Кэри Дженсена к упомянутым другим. Он помечен как «Delphi Unicode Migration for Mere Mortals: рассказы и советы из Front Line» (на английском языке). http://www.danysoft.com/free/delphiunicodemigration.pdf
Как вы можете видеть в названии, вы найдете много опыта и советов. Я думаю, что это ответ на ваш вопрос. После тщательного ознакомления с этим вы наверняка знаете, что делать дальше. :)
Найдено в: http://www.danysoft.com/productos/migrar-aplicaciones-a-delphi-xe-o-cbuilder-xe.html
Еще один момент, о котором стоит заботиться, - это использование типов Variant со строками и тестирование функции VarType для строк: нужно использовать varUString вместо varString.
Предполагая, что AValue имеет тип Variant и имеет присваивается строковое значение Unicode, следующее не будет работать:
if VarType(AValue) = varString then ...
и его необходимо изменить на
if VarType(AValue) = varUString then ...
Есть много доступных ресурсов, которые вы можете прочитать, и что вы будете помогать в переходе с Delphi 6 на Delphi 2009/2010 (Unicode).
Вы можете использовать эти статьи в качестве руководства.
Пока.
Недавно я был в одном и том же обстоятельстве. вам в основном нужно обратить внимание на «края» приложения. INI-файлы, файлы ввода-вывода, файлы журналов и т. Д. Выигрывают вызовы API из работы delphi, поскольку они теперь подключили вызовы API Unicode. проверьте каждый сторонний компонент, чтобы убедиться, что они, по крайней мере, готовы к Delphi 2009 ... еще лучше 2010. Даже мое использование баз данных просто не было проблемой ... почти все сразу сработало. это просто не было большой проблемой. все, что полагается на размер персонажа, должно быть пересмотрено.
действительно самый большой интерес вызывает 2007_or_earlier -> 2009_or_later.
есть много дискуссий / записей в блоге об этом , вы могли читать, читать, читать ... или вы могли бы начать и amp; посмотрим, что произойдет. (я сделал некоторые из них). Я уверен, что есть проблемы с переполнением стека, которые обсуждают ваш вопрос. я не претендую на подробное описание того, что может случиться.
это просто не так страшно, как кажется.