Главная

Практически по единогласному мнению пользователей, это лучшая клавиатура для андроид.
info Клавиатура jbak2 keyboard в Google play больше не публикуется! (как и другие мои программы)
Для некоторых действий, например написания на форуме, требуется регистрация.
Группа Гости имеет ограниченные возможности.
Все программы перечислены в таблице ниже, их можно скачивать без регистрации.
Альтернативное скачивание: бот в Telegram @Jbak2keyboardBot
Там-же можно скачать и браузер.
Для сокращения шапки, зарегистрируйтесь или войдите.
menu
Помочь проекту / Реклама на сайте

Главная

Категории:
Статьи по jbak2 keyboard [8]

Про редакторы для больших текстов и встроенный в jbak2 keyboard

В настоящее время я разбираюсь с тем редактором с подсветкой кода, что выкладывал на 4pda.to раньше для примера.
Из-за чего вожусь? - а просто я уже много лет хочу добавить подобный редактор в jbak2 и заменить им тот, который имеется в ней сейчас (стандартный класс EditText ).
И дело не в подсветке кода, а в скорости открытия больших файлов.

Но сколько я не думал об такой реализации, сколько не размышлял, всё равно выходила только одна стандартная схема - пишем свой адаптер для текста и загружаем текст в EditText небольшими кусками, со всеми вытекающими отсюда прелестями, как-то: обработка любого нажатия клавиши на клавиатуре (причём не в самой клавиатуре, а в редакторе), неважно стрелка это или вставка/удаление символа/строки, полная обработка выделения посимвольного, строкового, всего текста и многих прочих нюансов.
И всё это сразу корректировать в исходном тексте (и в edittext), чтобы иметь возможность сохранять изменения.

В общем, такую работу я точно не потяну с моими теперешними мозгами. А если и потяну, то вся работа по приведению всего в порядок, займёт не один год и думаю, даже не 5 лет...

Вы спросите - а почему в стандартном EditText  так не сделано? Неужели разработчики андроида за столько лет об этом не подумали?
Не знаю, думали или нет, но стандартный класс EditText  очень перегружен всякими ненужными для редактора текста  функциями.  А они очень сильно замедляют работу класса на этапе размещения текста (setText).
Отсюда и долгое открытие в редакторе больших текстов - само чтение большого текста в переменную, занимает от силы пару секунд, а всё остальное время, это размещение и форматирование этого текста в EditText. Что и вешает на этот период всю программу.

Поэтому программисты вынуждены писать свои реализации EditText для редакторов текста, отбросив все эти ненужные функции. Причём наследуются не от EditText, а от View.
Вот тогда и получается, что вся загрузка текста в свой EditText, происходит НАМНОГО быстрее и практически не нагружая процессор.
Именно так работают QuickEdit, редактор ABC, ещё несколько. Вернее, это я так думаю :)
И поэтому-же, не всегда клавиатура jbak2 может полностью и правильно работать в таких редакторах - в них просто отсутствует реализация каких-то команд клавиатуры (хотя они и все стандартные), поэтому они просто игнорируются. Или клавиатура не получает какую-то необходимую ей для реализации функции информацию, которую должен предоставлять редактор.

Прочитав недавно одну статью, я полностью убедился в своей правоте (а многого и не знал).
А голая компиляция той программы что я выкладывал на 4pda, совершенно пустая, без всяких ресурсов, только один код, весит тем не менее почти 2mb.

Вроде и ерунда по современным меркам, но в jbak2 keyboard я такое точно не включу.

Категория: Статьи по jbak2 keyboard | Добавил: wolf3d (02.09.2023)
Просмотров: 100 | Рейтинг: 5.0/1
Всего комментариев: 0
avatar