Morse
Eine einfache App, die für Text zu Morse -Konvertierung hergestellt wurde
Apk herunterladen
In Kürze im Play Store erhältlich!




Merkmale
Morse wird gemacht, um einen bestimmten Text in Morse umzuwandeln.
Ausgabe
Der Benutzer kann entscheiden, wie er Kontrollkästchen verwenden, um die Morse zu senden:
- Ton: Eine schöne 440 Hz Sinewave wird verblasst und aus (wenn möglich)
- Flash: Die Gerätekamera -Blitz wird verwendet, um langsam, aber hell und sichtbar zu morse
- Hintergrund: Der Hintergrund der App ist auch in der Lage, die schnelleren Geschwindigkeiten zu blinken
Morsing
Morse entspricht allen 4 standardisierten Geschwindigkeiten:
- 60 ms
- 120 ms
- 240 ms
- 1200 ms
(MS pro dit)
Das gesamte internationale Morse -Alphabet wird unterstützt, jeder nicht unterstützte Brief wird als Raum behandelt.
(Wie in diesem deutschen Wikipedia -Eintrag aufgeführt: Morse Tabelle)
Benutzeroberfläche
Morse verfügt über eine ziemlich simple Benutzeroberfläche.
- Ein Eingabefeld zum Eingeben von ClearText, das konvertiert wird
- 2 Textfelder mit Status, aktuellem Buchstaben und dem gemäß Morsecode zeigen
- eine Fortschrittsleiste, die den Fortschritt der laufenden Morse zeigt
- Eine Taste zum Starten und Stoppen des Abriebsvorgangs
- 3 Kontrollkästchen zur Auswahl der Ausgänge:
- Ein Schieberegler zur Auswahl der Geschwindigkeit
- und ein kleines Textfeld unter dem Schieberegler zum Anzeigen der aktuell ausgewählten Geschwindigkeit in MS
Morse passt auch an, wenn die Softtastatur aufgerufen wird, obwohl dies angepasst wird, da auf einigen Geräten mit großen UI -Elementen oder einem kleinen Bildschirm dies zu überlappenden Komponenten führt.
Codestruktur
Der größte Teil der Arbeit erfolgt innerhalb der Mainaktivität, aber mehrere Aufgaben wie das Erstellen des Klangs werden von verschiedenen Klassen verwaltet.
Soundbibliotheken:
Morse verwendet derzeit 2 verschiedene Klangbibliotheken, da sich die anderen Geschwindigkeiten bessere Leistung ergeben.
- PerfectTune von Karlotoy ist in hohen Geschwindigkeiten besser
- Eine eigene Version von PerfectTune und einiger Stackoverflow -Code haben einen Verblassen und einen Verblassen von Effekten, knirschen jedoch viel in hohen Geschwindigkeiten.
- Ein dritter Generator von Stackoverflow wurde gerade als Quelle für die eigene Version, aber derzeit nicht genutzt
Statische Variablen:
- String -Tag: Wird zum Debuggen- und Protokollierungszwecke verwendet
- INT SpeedBar: Aktuelle Geschwindigkeit, die vom Benutzer ausgewählt wurde
- Boolean Active: Wenn derzeit ein Bordprozess aktiv ist
- Thread Worker: Zweiter Thread für Morsing, um die Benutzeroberfläche nicht zu sperren
- Boolean FlasheAvableable: Gilt in OnCreate () und definiert, ob das Gerät über einen Blitz verfügbar ist
- Boolean Boxflash: Wenn das Kontrollkästchen für den Blitz aktiviert ist
- Boolean Boxtone: Wenn das Kontrollkästchen für den Ton überprüft wird
- Boolean Boxbackground: Wenn das Kontrollkästchen für den Hintergrund aktiviert ist
- ConstraintLayout ConstrainLayout: Statische Referenz auf den ConstraintLayout für die Verwaltung des zweiten Threads
- Kontextkontext: Statische Referenz auf den Mainaktivitätskontext
- Boolean Flash: Variable Definieren, wenn der Blitz eingeschaltet sein sollte, der während des Absings verwendet wird, von einem dritten Thread verarbeitet wird
- INT ARMISIONE_REQUEST_CAMERA: Statische INT zur Identifizierung während des Befragungsanforderungsprozedur
Wichtige Funktionen:
- Oncreate: Erstigt sich zum ersten Mal
- EncodebuttonClick: Startet den gesamten Bierprozess mit einem zweiten Thread oder stoppt ihn, wenn ein ausgeführt wird
- MORSE: Allgemeine Funktion zum Verwalten des gesamten Bierprozesses kehrt true zurück, wenn Morse fertig und falsch ist, wenn Morse abgesagt wurde
- UpdateInfo: Einfache Funktionsbeeinung, die hauptsächlich aus dem Bierprozess aufgerufen wird, um die Benutzeroberfläche zu aktualisieren
MORSE CODE MAP
Der gesamte Morsecode wird in einer großen Karte gespeichert. Dies erleichtert das Verwalten und ermöglicht das Anfordern des Morse -Code für einen Brief mithilfe von Morse.get (Zeichen).
Funktion EncodeButtonClick:
Startet den gesamten Bierprozess, einschließlich eines zweiten Fadens oder stoppt ihn, wenn ein ausgeführt wird

Diese Funktion hat einen Programmstrukturplan! PAP herunterladen oder PDF herunterladen/anzeigen
Funktion Morse
Die Funktion Morse macht alles interessant und ist ziemlich wichtig, sodass sie seine eigene Beschreibung erhält
- Der Thread -Camworker wird erstellt, der später das Einschalten von Flash verwaltet, da das Ein- und Ausschalten von Flash anscheinend einige Zeit in Anspruch nimmt und das genaue Zeitpunkt der Morse durcheinander bringt.
- Erstens für die Schleife im Allgemeinen, um jeden Charakter des Eingabtextes zu schleifen
- Wenn Anweisung prüft, ob der nächste Charakter besondere Bedrohungen wie Leerzeichen benötigt oder nicht
- Wenn nicht, startet es eine kleine für die Schleife, in der die Morse -Symbole für die Anzeige gesammelt werden
- Zweitens für Loop -Schleifen durch jedes Bord -Segment des Charakters
- Abhängig von ausgewählten Ausgangstypen werden die Ausgänge aktiviert
- Entweder wird der Ton für eine definierte Zeit gespielt oder wenn der Tonausgang deaktiviert ist
- Ausgewählte Ausgänge werden wieder ausgeschaltet
- Der leere Problem zwischen Morsing -Signalen wartet gewartet
- Die Zeit zwischen Buchstaben ist gewartet

Diese Funktion hat einen Programmstrukturplan! PAP herunterladen oder PDF herunterladen/anzeigen
Berechtigungen
Morse benötigt nur die Genehmigung zur Kamera, um den Blitz zu aktivieren, aber es funktioniert natürlich ohne Blitz, wenn es die Erlaubnis noch nicht hat. Die Kameragenehmigung wird nach Beginn der App angefordert. Das Auswahlbox für Blitzgrönen, wenn die Berechtigung fehlt oder wenn dem Gerät ein Blitz fehlt.
XML -Dateien
- Strings.xml: Der Standardmeldungstext und die Schallfrequenz in HZ sind hier definiert
- farben.xml: Die Standardfarben und die Farben für den invertierenden Hintergrund und Text sind hier definiert
- Aktivität_Main.xml: Standard -Layout -Datei für die Hauptaktivität