Рубрики
Без рубрики

Написание плагина Java-парсера для Android Studio

Постановка целей для моего следующего проекта. Помеченный java, обсудите.

В этой 2-й 10-й жареной статье ( Внимание, это не принесет никакой пользы! ) Я собираюсь описать другой уровень возможностей современных технологий, которые позволяют нам делать добро вещи на другом уровне добра.

Я собираюсь написать плагин языкового анализатора для java, чтобы разрешить редактирование в нескольких местах с использованием существующих шаблонов проектирования из одного места. (Это предложение действительно не имеет смысла.)

Проблема:

Мы должны реализовать прослушиватель изменений для набора значений, который, в свою очередь, обновит представление при обновлении redraw() после перезагрузки ресурса. ((Это предложение не имеет смысла для. Не волнуйся, я к этому стремлюсь.)

Я работаю над своей собственной версией для Anysoftkeyboard – клавиатуры Java для Android с открытым исходным кодом и бесплатным лицензированием. В качестве лейтмотива моей работы я также работаю над клавиатурой Anysoftkeyboard, делая ее “еще лучше”.

Anysoftkeyboard, как автономная клавиатура, имеет очень интересную функцию для разработчиков тем плагинов, которые позволяют создавать плагин или тему на языке тегов xml и позволяют пользователю применять новый плагин на своей клавиатуре. Создать хорошую тему клавиатуры само по себе непросто.

Проблема с кодовой базой Anysoftkeyboard заключается в том, что она позволяет изменять только некоторые значения в новой теме, значения, которые не требуют вычисления, такие как границы кнопок, цвет кнопок, цвета клавиатуры и шрифты клавиатуры.

Но

Если вы хотите создать новую тему с новой высотой кнопки, она не будет работать после загрузки 1-й темы, поскольку для новой высоты клавиши требуется новый расчет для всех позиций y.

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

Ждать. Что?

Что делать, если у меня есть пять значений, которые влияют на 25 функций? Как бы я их обновил?!

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

Intellij и Android Studio имеют эту функцию JFlex, которая в основном является анализатором языка для java и, в свою очередь, (имеет) отдельный язык сам по себе или что-то в этом роде. Вы можете сбросить на него свой собственный скрипт, который вы пишете как Android Studio или плагин Intellij внутри, и вуаля, у вас что-то есть…… Очень круто.:)

В принципе, вот и все.

Пожалуйста, поделитесь своими мыслями, дайте мне знать, если вам интересно найти подобную статью и стоит ли делиться процессом и идеей автоматизации скрипта синтаксического анализа языка. Я хотел бы знать, стоит ли писать еще одну статью на эту тему или нет (?) И дайте мне знать, будет ли вам интересно найти подобную статью или нет.

Спасибо, Виталий.пом

Оригинал: “https://dev.to/vitalipom/writing-androidstudio-java-parser-plugin-2b00”