มอร์ส
แอพง่าย ๆ ที่สร้างขึ้นสำหรับการแปลงข้อความเป็นมอร์ส
ดาวน์โหลด apk
วางจำหน่ายใน Play Store เร็ว ๆ นี้!




คุณสมบัติ
มอร์สถูกสร้างขึ้นเพื่อแปลงข้อความใด ๆ ที่ให้เป็นมอร์ส
เอาท์พุท
ผู้ใช้สามารถตัดสินใจโดยใช้ช่องทำเครื่องหมายด้วยวิธีที่เขาต้องการส่งมอร์ส:
- น้ำเสียง: Sinewave 440 Hz ที่ดีจะจางหายไป (ถ้าเป็นไปได้ที่จะเป็นไปได้)
- แฟลช: แฟลชกล้องอุปกรณ์ใช้สำหรับมอร์สช้า แต่สว่างและมองเห็นได้
- ความเป็นมา: พื้นหลังของแอปยังสามารถแฟลชด้วยความเร็วที่เร็วขึ้น
มอมแมม
มอร์สเป็นไปตามความเร็วทั้ง 4 ที่เป็นมาตรฐาน:
- 60 มิลลิวินาที
- 120 มิลลิวินาที
- 240 มิลลิวินาที
- 1200 มิลลิวินาที
(MS ต่อ DIT)
ตัวอักษรมอร์สนานาชาติทั้งหมดได้รับการสนับสนุนจดหมายที่ไม่ได้รับการสนับสนุนทุกตัวจะได้รับการปฏิบัติเหมือนเป็นพื้นที่
(ตามที่ระบุไว้ในรายการวิกิพีเดียเยอรมันนี้: Morse Tabelle)
ส่วนต่อประสานผู้ใช้
มอร์สมีส่วนต่อประสานผู้ใช้ที่ค่อนข้างง่าย
- ฟิลด์อินพุตสำหรับการพิมพ์ cleartext ซึ่งจะถูกแปลง
- 2 ฟิลด์ข้อความแสดงสถานะตัวอักษรปัจจุบันและรหัส Morse ตาม
- แถบความคืบหน้าแสดงความคืบหน้าของมอร์สอย่างต่อเนื่อง
- ปุ่มเพื่อเริ่มต้นและหยุดกระบวนการ morsing
- 3 ช่องทำเครื่องหมายสำหรับการเลือกเอาต์พุต:
- ตัวเลื่อนสำหรับการเลือกความเร็ว
- และฟิลด์ข้อความขนาดเล็กด้านล่างตัวเลื่อนเพื่อแสดงความเร็วที่เลือกในปัจจุบันใน MS
มอร์สยังปรับตัวได้หากคีย์บอร์ดอ่อน ๆ ถูกเรียกใช้แม้ว่าสิ่งนี้จะถูกปรับเพราะในอุปกรณ์บางอย่างที่มีองค์ประกอบ UI ขนาดใหญ่หรือหน้าจอขนาดเล็กซึ่งส่งผลให้ส่วนประกอบที่ทับซ้อนกัน
โครงสร้างรหัส
งานส่วนใหญ่ทำภายใน MainActivity แต่งานหลายอย่างเช่นการสร้างเสียงนั้นได้รับการจัดการโดยคลาสที่แตกต่างกัน
ห้องสมุดเสียง:
มอร์สใช้ห้องสมุดเสียงที่แตกต่างกัน 2 ห้องในขณะนี้เนื่องจากมีประสิทธิภาพที่ดีขึ้นด้วยความเร็วที่ดีกว่าด้วยความเร็วที่แตกต่างกัน
- PerfectTune โดย Karlotoy นั้นดีกว่าด้วยความเร็วสูง
- เวอร์ชันของตัวเองรวมกันจาก PerfectTune และรหัส Stackoverflow บางตัวมีเอฟเฟกต์ที่ซีดจางและซีดจาง แต่ก็เพิ่มความเร็วสูง
- เครื่องกำเนิดไฟฟ้าที่สามจาก StackoverFlow เพียงแค่เก็บเป็นแหล่งสำหรับเวอร์ชันของตัวเอง แต่ปัจจุบันไม่ได้ใช้งาน
ตัวแปรคงที่:
- แท็กสตริง: ใช้สำหรับการดีบักและการบันทึก
- int speedbar: ความเร็วปัจจุบันที่เลือกโดยผู้ใช้
- บูลีนใช้งานอยู่: หากกระบวนการ morsing ทำงานอยู่ในปัจจุบัน
- คนงานด้าย: เธรดที่สองสำหรับ morsing ไม่ล็อค UI
- Boolean Flashavailable: รับการตั้งค่าใน onCreate () กำหนดว่าอุปกรณ์มีแฟลชพร้อมใช้งาน
- Boolean Boxflash: หากมีการตรวจสอบช่องทำเครื่องหมายสำหรับแฟลช
- Boolean Boxtone: หากมีการตรวจสอบช่องทำเครื่องหมายสำหรับโทนเสียง
- Boolean Boxbackground: หากมีการตรวจสอบช่องทำเครื่องหมายสำหรับพื้นหลัง
- ข้อ จำกัด ข้อ จำกัด : การอ้างอิงแบบคงที่ไปยังข้อ จำกัด สำหรับการจัดการจากเธรดที่สอง
- บริบทบริบท: การอ้างอิงแบบคงที่ไปยังบริบท MainActivity
- แฟลชบูลีน: การกำหนดตัวแปรว่าควรใช้แฟลชใช้ในระหว่าง morsing ประมวลผลโดยเธรดที่สาม
- permission int_request_camera: int คงที่สำหรับการระบุระหว่างขั้นตอนการขออนุญาต
ฟังก์ชั่นที่สำคัญ:
- onCreate: ตั้งค่าสิ่งแรกเป็นครั้งแรก
- ENCODEBUTTONCLICK: เริ่มกระบวนการ morsing ทั้งหมดรวมถึงเธรดที่สองหรือหยุดถ้ามีการทำงานหนึ่ง
- มอร์ส: ฟังก์ชั่นทั่วไปสำหรับการจัดการกระบวนการ morsing ทั้งหมดส่งคืนจริงถ้ามอร์สเสร็จและเท็จหากมอร์สถูกยกเลิก
- UpdateInfo: ฟังก์ชั่นง่าย ๆ ที่เรียกว่าส่วนใหญ่จากกระบวนการ morsing เพื่ออัปเดต UI
แผนที่รหัสมอร์ส
รหัสมอร์สทั้งหมดถูกบันทึกไว้ในแผนที่ขนาดใหญ่ สิ่งนี้ทำให้ง่ายต่อการจัดการและเปิดใช้งานการขอรหัส Morse สำหรับจดหมายโดยใช้ morse.get (อักขระ)
ฟังก์ชั่น ENCODEBUTTONCLICK:
เริ่มต้นกระบวนการ morsing ทั้งหมดรวมถึงเธรดที่สองหรือหยุดถ้ามีหนึ่งกำลังทำงาน

ฟังก์ชั่นนี้มีแผนโครงสร้างโปรแกรมพร้อมใช้งาน! ดาวน์โหลด pap หรือดาวน์โหลด/ดู pdf
ฟังก์ชั่นมอร์ส
ฟังก์ชั่นมอร์สทำทุกอย่างที่น่าสนใจและเป็นสิ่งสำคัญมากดังนั้นจึงได้รับคำอธิบายของตัวเอง
- เธรด Camworker ถูกสร้างขึ้นซึ่งจะจัดการการเปิดแฟลชในภายหลังเนื่องจากการเปิดแฟลชเปิดและปิดใช้เวลาค่อนข้างนานและจะทำให้ช่วงเวลาที่แม่นยำของมอร์สยุ่งเหยิง
- ก่อนอื่นสำหรับการวนรอบโดยทั่วไปจะวนรอบตัวละครทุกตัวของข้อความอินพุต
- หากคำสั่งตรวจสอบว่าตัวละครต่อไปต้องการการคุกคามพิเศษเช่นช่องว่างหรือไม่
- ถ้าไม่ใช่มันเริ่มต้นเล็ก ๆ สำหรับลูปรวบรวมสัญลักษณ์มอร์สเพื่อแสดงผล
- ครั้งที่สองสำหรับลูปลูปผ่านทุกส่วนของตัวละคร
- ขึ้นอยู่กับประเภทเอาต์พุตที่เลือกเอาต์พุตจะเปิดใช้งาน
- ไม่ว่าโทนเสียงจะถูกเล่นตามเวลาที่กำหนดหรือถ้าเอาต์พุตโทนเสียงถูกปิดการใช้งานความยาวเท่ากันก็คือการรอ
- เอาต์พุตที่เลือกจะถูกปิดอีกครั้ง
- dit ที่ว่างเปล่าระหว่างสัญญาณ morsing กำลังรออยู่
- เวลาระหว่างตัวอักษรกำลังรออยู่

ฟังก์ชั่นนี้มีแผนโครงสร้างโปรแกรมพร้อมใช้งาน! ดาวน์โหลด pap หรือดาวน์โหลด/ดู pdf
การอนุญาต
มอร์สต้องการอนุญาตให้กล้องเปิดใช้งานแฟลชเท่านั้น แต่แน่นอนว่ามันใช้งานได้ดีหากไม่มีแฟลชหากยังไม่ได้รับอนุญาต ขออนุญาตกล้องเมื่อเริ่มต้นแอป กล่องเลือกสำหรับแฟลชเกรย์ออกหากการอนุญาตหายไปหรือหากอุปกรณ์ขาดแฟลช
ไฟล์ XML
- strings.xml: ข้อความเริ่มต้นและความถี่เสียงใน Hz ถูกกำหนดไว้ที่นี่
- Colors.xml: สีมาตรฐานและสีสำหรับพื้นหลังและข้อความกลับด้านถูกกำหนดไว้ที่นี่
- Activity_main.xml: ไฟล์เลย์เอาต์มาตรฐานสำหรับกิจกรรมหลัก