บทที่ 9 – สร้างแอพให้โทรออก และรับส่ง SMS
คุณสมบัติของแอพ
ในบทนี้ จะสอนสร้างแอพที่สามารถโทรออก รวมทั้งรับและส่ง SMS ได้ นอกจากนี้ ยังแนะนำให้รู้จักปุ่ม phoneNumberPicker ที่จะแสดงเบอร์โทรศัพท์ในเครื่องให้เราเลือกโทร พร้อมกับสาธิตการใช้งานร่วมกับนาฬิกา เพื่อบันทึกเวลาที่โทร และจำนวนวินาที แล้วแสดงผลออกมาทางไดอะล็อกบ๊อกซ์คอมโพเนนต์ที่กล่าวถึง
- PhoneNumberPicker เป็นปุ่มที่เมื่อคลิ้ก จะแสดงเบอร์โทรศัพท์ที่มีในเครื่อง ให้ผู้ใช้เลือก
- PhoneCall ใช้สำหรับการโทรออก และรับสายที่โทรเข้า
- Texting ใช้สำหรับรับและส่งข้อความ SMS
- Notifier ใช้แสดงไดอะล็อกแบบต่างๆ เพื่อสื่อสารให้ผู้ใช้ทราบ โดยไดอะล็อกจะปรากฎอยู่เหนือหน้าจอหลักของแอพ และเมื่อปิด ก็จะหายไป
- Clock ในบทนี้จะใช้ทำหน้าที่หลายๆ อย่าง คือ
- ใช้บอกวันที่ และเวลาปัจจุบัน
- ใช้คำนวณระยะเวลา เมื่อกำหนดเวลาที่เริ่มโทร จนถึงเวลาที่วางสาย

ในบทนี้จะแสดงตัวอย่างการประยุกต์ใช้ properties บางอย่างของ Texbox ได้แก่
- Hint เป็นข้อความที่แสดงในช่อง Texbox ในขณะที่ยังว่างอยู่ เพื่อบอกผู้ใช้ว่า ควรจะต้องใส่อะไรลงในช่องนี้ เมื่อผู้ใช้เริ่มใส่ข้อความลงในช่อง ข้อความ Hint ก็จะหายไป
- Number Only หากทำเครื่องหมายถูกหน้าช่องนี้ จะเป็นการกำหนดให้ผู้ใช้ใส่ได้เฉพาะตัวเลขลงในช่องนี้เท่านั้น และคีย์บอร์ดก็จะแสดงเฉพาะปุ่มตัวเลข ซึ่งจะทำให้การป้อนข้อมูลตัวเลขสะดวกขึ้น
- MultiLine หากทำเครื่องหมายถูกหน้าช่องนี้ จะเป็นการกำหนดให้ผู้ใช้สามารถใส่ข้อความได้หลายบรรทัด โดยจะมีปุ่ม Enter ให้กดเพื่อขึ้นบรรทัดใหม่ได้ เหมาะสำหรับช่องใส่ข้อความยาวๆ เช่น ที่อยู่
- Receiving Enabled ใช้กำหนดว่า จะให้รับ SMS หรือไม่ โดยมีให้เลือก 3 ค่า คือ
- Off คือไม่รับ SMS
- Foreground คือ รับ SMS เมื่อเปิดแอพนี้ให้ทำงาน และแอพปรากฏบนหน้าจอของอุปกรณ์
- Always คือ ให้รับ SMS ตลอด แม้ไม่ได้เปิดแอพ พอเราเปิดแอพขึ้นมา ก็จะดึงข้อความ SMS ที่ได้รับมาแสดงด้วย
บล็อกที่สำคัญ
- PhoneNumberPicker AfterPicking เป็นอีเวนต์ที่เกิดขึ้นเมื่อผู้ใช้เลือกเบอร์โทรศัพท์ด้วยปุ่ม PhoneNumberPicker
- PhoneNumberPicker PhoneNumber เป็นบล็อกที่เก็บเบอร์โทรศัพท์ที่ผู้ใช้เลือกไว้
- PhoneCall PhoneNumber ใช้กำหนดเบอร์โทรศัพท์ที่จะโทรออก
- MakePhoneCall ใช้สั่งให้โทรออกไปยังเบอร์โทรศัพท์ที่กำหนด
- PhoneCallStart เป็นอีเวนต์ที่เกิดขึ้นเมื่อเริ่มโทรออก หรือมีคนโทรเข้ามา โดยในอีเวนต์นี้ จะให้เบอร์โทรศัพท์ไว้ในตัวแปร phoneNumber และมีตัวแปร status บอกถึงการโทรเข้า หรือโทรออก
- โทรเข้า status จะมีค่าเป็น 1
- โทรออก status จะเป็น 2
- IncomingCallAnswer เป็นอีเวนต์ที่เกิดขึ้นเมื่อมีการรับสาย
- PhoneCallEnd เป็นอีเวนต์ที่เกิดขึ้นเมื่อวางสาย โดยตัวเลข status จะบอกว่า วางสายอย่างไร
- ถ้าคนโทรเข้ามาแล้วรับไม่ทัน เป็น miss call หรือเรากด ไม่รับสาย status ก็จะเป็น 1
- ถ้าคนโทรเข้ามา เรารับสาย status จะเป็น 2
- ถ้าเราเป็นคนโทรออก แล้ววางสาย status จะเป็น 3
- MessageReceived เป็นอีเวนต์ที่เกิดขึ้นเมื่อได้รับ SMS เข้ามา ในอีเวนต์นี้จะมีตัวแปร number และ message ซึ่งเก็บเบอร์ และข้อความ SMS ที่รับเข้ามา
- Texting PhoneNumber ใช้กำหนดเบอร์โทรศัพท์ที่จะส่ง SMS
- Texting Message ใช้กำหนดข้อความ SMS ที่จะส่งออก
- Send Message เป็นคำสั่งสำหรับส่ง SMS ไปยังเบอร์ที่กำหนด
- ShowMessageDialog เป็นการสั่งให้แสดงไดอะล็อกแบบที่มีเพียงข้อความ และมีปุ่มให้ผู้ใช้คลิ้กเพื่อปิดไดอะล็อก
- Now บล็อกนี้จะให้วันที่ และเวลา ณ ขณะนั้น
- FormatDateTime ใช้จัดรูปแบบการแสดงผล วันที่ และเวลาตามรูปแบบ (pattern) ที่กำหนด
- Duration ใช้คำนวณหาคาบเวลา ระหว่างค่าเวลา 2 ค่า
- DurationToSecond แปลงคาบเวลาให้เป็นหน่วยวินาที
ความรู้อื่นๆ
- อธิบายไดอะล็อกประเภทต่างๆ ที่มากับคอมโพเนนต์ Notifier
- ความรู้เกี่ยวกับ HTML tag ที่ใช้กับไดอะล็อกได้
Comments
Post a Comment