Морс
Простое приложение, сделанное для конверсии Morse для Morse
Скачать APK
Доступно в игровом магазине скоро!




Функции
Морс создан для преобразования любого данного текста в Морс.
Выход
Пользователь может решить, используя флажки, как он хочет отправить Морса:
- Тон: Хорошая синусорог 440 Гц загадает и выходит (если возможно)
- Flash: вспышка камеры устройства используется для Morse Mlow, но ярко и видимо
- Фон: фон приложения также способен мигать на более высоких скоростях
Мочи
Морс соответствует всем 4 стандартным скоростям:
- 60 мс
- 120 мс
- 240 мс
- 1200 мс
(MS за DIT)
Весь международный алфавит Морса поддерживается, каждая неподдерживаемое письмо рассматривается как пространство.
(Как указано в этой немецкой записи Википедии: Морс Табель)
Пользовательский интерфейс
Морс имеет довольно упрощенный пользовательский интерфейс.
- Поле ввода для печати ClareText, который будет преобразован
- 2 Текстовые поля, показывающие статус, текущую букву и код в соответствии с Морз.
- Прогресс, показывающий прогресс продолжающегося Морса
- кнопка для запуска и прекращения процесса мочивания
- 3 флажки для выбора выходов:
- ползунок для выбора скорости
- и небольшое текстовое поле под слайдером для отображения в данный момент выбранной скорости в MS
Морс также адаптируется, если используется мягкая клавиатура, хотя это будет отрегулировано, потому что на некоторых устройствах с большими элементами пользовательского интерфейса или на небольшом экране это приводит к перекрывающимся компонентам.
Структура кода
Большая часть работы выполняется в рамках MainActivity, но несколько задач, таких как создание звука, управляются различными классами.
Звуковые библиотеки:
В настоящее время Морс использует 2 разных звуковых библиотеки из -за лучшей производительности друг друга на разных скоростях.
- Perfecttune от Карлотоя лучше на высоких скоростях
- Собственная версия, объединенная из PerfectTune и некоторых кодов StackOverflow, имеет эффект исчезновения и исчезает, но сильно потрескивает на высоких скоростях.
- Третий генератор из Stackoverflow только что сохранился в качестве источника для собственной версии, но в настоящее время неиспользованный
Статические переменные:
- Tag String: используется для отладки и регистрации
- Int speedbar: текущая скорость, выбранная пользователем
- Boolean Active: если в настоящее время активен процесс мочивания
- Работник потока: второй поток для моментов, чтобы не заблокировать пользовательский интерфейс
- Boolean FlashAvailable: Получится в Oncreate (), определяет, есть ли у устройства есть вспышка доступна
- Boolean Boxflash: Если флажок для флэш -
- Boolean Boxtone: если флажок на тонус проверяется
- Boolean Boxbackground: если фон для фона проверяется
- ConstraintLayout contrainLayout: статическая ссылка на ограничение для управления его из второго потока
- Контекст контекста: статическая ссылка на контекст MainActivity
- Boolean Flash: переменная Определение, должна ли флэш -память, используемая во время Morsing, обрабатываемой третьим потоком
- Int ressission_request_camera: static int для идентификации во время процедуры запроса разрешения
Важные функции:
- Oncreate: устанавливает вещи в первый раз
- EncodebuttonClick: запускает весь процесс мочивания, включая второй поток или останавливает его, если есть один запуск
- Морс: Общая функция для управления процессом всего моментов, возвращает True, если Морс закончил и неверно, если Морс был отменен
- UpdateInfo: Simple Function Beeing в основном из процесса Morsing для обновления пользовательского интерфейса
Карта кода Морзе
Весь код Морзе сохраняется в большой карте. Это облегчает управление, а также позволяет запрашивать код Морзе для письма с помощью morse.get (символ)
Функция EncodeButtonClick:
Запускает весь процесс мочивания, включая второй поток или останавливает его, если есть один.

Эта функция имеет план структуры программы! Скачать PAP или скачать/просмотреть PDF
Функция Морс
Функция Morse делает все интересное и очень важно, поэтому она получает свое собственное описание
- Camworker Thread Camworker создается, который будет управлять включением Flash позже, потому что включение Flash включена и выключена, по -видимому, занимает довольно много времени и испортит точное время Морса.
- Сначала для цикла обычно зацикливать каждый символ входного текста
- Если заявление проверяет, нуждается ли следующий персонаж особую угрозу, например, пространства или нет
- Если нет, он начинает небольшой для петли, собирая символы Морса для отображения
- Второе место для петли через каждый сегмент мочеивания персонажа
- В зависимости от выбранных типов выходных данных, выходы активируются
- Либо тональ воспроизводится в течение определенного времени, либо если вывод тона деактивируется, такая же длина - пчел, ожидая
- Выбранные выходы снова выключаются
- Пустое DIT между сигналами Morsing
- Время между буквами ждалось

Эта функция имеет план структуры программы! Скачать PAP или скачать/просмотреть PDF
Разрешения
Морсе нуждается в разрешении камеры для активации вспышки, но, конечно, он работает нормально без вспышки, если у нее еще нет разрешения. Разрешение камеры запрашивается при начале приложения. Компания выбора для Flash Grays Out, если разрешение отсутствует или если у устройства не хватает вспышки.
XML -файлы
- Strings.xml: текст сообщения по умолчанию и частота звука в Гц определены здесь
- Colors.xml: здесь определены стандартные цвета и цвета для инвертирования фона и текста.
- Activity_main.xml: стандартный файл макета для основной деятельности