モールス
テキストのために作られたシンプルなアプリは、変換を迫撃します
APKをダウンロードします
すぐにプレイストアで利用できます!




特徴
モールスは、特定のテキストをモールスに変換するように作られています。
出力
ユーザーは、モールスを送信したい方法でチェックボックスを使用して決定できます。
- トーン:素敵な440 Hzの正弦波がフェードアウトし、出入りします(時間ごとに可能であれば)
- フラッシュ:デバイスカメラフラッシュは、ゆっくりと明るく見えますが、モーシスに使用されます
- 背景:アプリの背景は、より速い速度でフラッシュすることもできます
モーシング
モールスは、4つの孤立した速度すべてに準拠しています。
(DITあたりMS)
国際的なモールスのアルファベット全体がサポートされており、サポートされていないすべての文字は空間として扱われます。
(このドイツのウィキペディアのエントリにリストされているように:モールス・タブレ)
ユーザーインターフェイス
Morseは、かなり単純なユーザーインターフェイスを備えています。
- 変換されるクリアテキストを入力するための入力フィールド
- ステータス、現在の文字、およびモールスコードを示す2つのテキストフィールド
- 進行中のモールスの進歩を示す進捗バー
- モーシングプロセスを起動して停止するボタン
- 出力を選択するための3つのチェックボックス:
- 速度を選択するためのスライダー
- MSで現在選択されている速度を表示するためのスライダーの下の小さなテキストフィールド
Morseは、ソフトキーボードが呼び出されるかどうかも適応しますが、これは調整されます。これは、大きなUI要素または小さな画面を持つ一部のデバイスでは、コンポーネントが重複するためです。
コード構造
作業のほとんどはMainActivity内で行われますが、サウンドの作成などのいくつかのタスクは、さまざまなクラスで管理されています。
サウンドライブラリ:
Morseは、さまざまな速度でのパフォーマンスが向上するため、現時点で2つの異なるサウンドライブラリを使用しています。
- KarlotoyによるPerfectTuneは、高速で優れています
- PerfectTuneといくつかのStackOverFlowコードから組み合わされた独自のバージョンは、フェードインしてフェードアウト効果を特徴としていますが、高速では非常にパチパチと音を立てています。
- StackoverFlowの3番目のジェネレーターは、独自のバージョンのソースとして保持されていますが、現在は使用されていません
静的変数:
- 文字列タグ:デバッグとロギングの目的で使用されます
- int speedbar:ユーザーが選択した現在の速度
- ブールアクティブ:モーシングプロセスが現在アクティブである場合
- スレッドワーカー:UIをロックしないためのモーシングの2番目のスレッド
- boolean flashavaible:oncreate()に設定され、デバイスにフラッシュが利用可能かどうかを定義します
- ブールボックスフラッシュ:フラッシュのチェックボックスがチェックされている場合
- Boolean Boxtone:トーンのチェックボックスがチェックされている場合
- ブールボックスバックグラウンド:背景のチェックボックスがチェックされている場合
- Constraintlayout ConstrainLayout:2番目のスレッドから管理するためのConstraintlayoutへの静的参照
- コンテキストコンテキスト:MainActivityコンテキストへの静的参照
- ブールフラッシュ:フラッシュがオンになるかどうかを定義する可変モーシング中に使用され、3番目のスレッドで処理されます
- int permission_request_camera:許可リクエスト手順中に識別するための静的int
重要な機能:
- OnCreate:初めてのものをセットアップします
- EncodeButtonClick:2番目のスレッドを含むモーシングプロセス全体を開始するか、実行中のスレッドがある場合は停止します
- モールス:モーシングプロセス全体を管理するための一般的な機能は、モールスが終了した場合に真実を返し、モールスがキャンセルされた場合は偽りです
- updateInfo:uiを更新するために、主にモーシングプロセスから呼ばれる単純な関数ビーイング
モールスコードマップ
モールスコード全体が大きな地図内に保存されます。これにより、管理が容易になり、Morse.get(文字)を使用してレターのモールスコードをリクエストすることもできます。
関数EncodeButtonClick:
2番目のスレッドを含むモーシングプロセス全体を開始するか、実行中のスレッドがある場合は停止します

この関数には、プログラム構造計画が利用可能です! PAPをダウンロードするか、PDFをダウンロード/表示します
機能モールス
関数モールスはすべてを面白くし、非常に重要なので、独自の説明を取得します
- スレッドキャンワーカーは作成されています。これは、フラッシュのオンとオフをかなり時間がかかるようで、モールスの正確なタイミングを台無しにするため、後でフラッシュをオンにすることを管理します。
- 最初にループの場合は、一般的に入力テキストのすべての文字をループする
- 次のキャラクターがスペースのような特別な脅威を必要とするかどうかを確認するステートメントの場合
- そうでない場合は、ディスプレイ用のモールスシンボルを収集するループのために小さいものを開始します
- 文字のすべてのモーシングセグメントを介してループループの2番目
- 選択した出力タイプに応じて、出力がアクティブになります
- トーンが定義された時間のために再生されるか、トーン出力が非アクティブ化されている場合、まったく同じ長さが待機しています
- 選択した出力は再びオフになります
- モーシング信号の間の空のディットは待っています
- 文字の間の時間は待っています

この関数には、プログラム構造計画が利用可能です! PAPをダウンロードするか、PDFをダウンロード/表示します
権限
モールスは、フラッシュをアクティブにするためのカメラの許可のみを必要としますが、まだ許可がない場合はフラッシュなしで正常に機能します。カメラの許可は、アプリの開始時に要求されます。 Flashの選択ボックスは、許可が欠落している場合、またはデバイスにフラッシュがない場合にグレーアウトします。
XMLファイル
- strings.xml:Hzのデフォルトのメッセージテキストとサウンド周波数はここで定義されています
- colors.xml:背景とテキストを反転させるための標準色と色はここで定義されています
- Activity_main.xml:メインアクティビティの標準レイアウトファイル