ในรายการเกี่ยวกับการสร้างโปรเจ็กต์แรกบน Android เราได้ดูวิธีสร้างแอปพลิเคชันพื้นฐานของเราแล้ว เราได้ตรวจสอบโครงสร้างของโปรเจ็กต์และแนวคิดต่าง ๆ เช่น SDK, Manifest และกิจกรรมและวงจรการใช้งานของพวกมัน ตอนนี้เราจะแก้ไขโปรเจ็กต์ปัจจุบันต่อไป เพื่อเจาะลึกการสร้างแอป
ตามที่กล่าวไว้ เราจะแก้ไขแอปพลิเคชันที่สร้างขึ้นในรายการนี้โดยที่เราสร้างโครงการ Android แรก เราจะยังคงอยู่บนหน้าจอนี้
ที่นั่นเราจะเห็นว่าแอปพลิเคชันเริ่มต้นสร้างส่วนประกอบ TextView พร้อมข้อความ "Hello World" จากมุมมองแบบแยก (หาก ณ จุดนี้ คุณไม่รู้วิธีสร้างแอป ฉันขอแนะนำให้คุณตรวจสอบรายการที่กล่าวถึงข้างต้น)
เมื่ออยู่ที่นี่ เราจะแก้ไขมุมมองนี้โดยการเพิ่มส่วนประกอบใหม่ ถ้าเราไปที่มุมมองการออกแบบ เราก็สามารถปรับเปลี่ยนหน้าจอได้ตามต้องการ ในกรณีนี้ เราจะสร้างอินเทอร์เฟซต่อไปนี้
ดังที่เราเห็น เราได้เพิ่มส่วนประกอบ PlainText ที่สอดคล้องกับฟิลด์แก้ไขจริง ๆ หรือที่สามารถมีคุณสมบัติ เช่น ข้อความธรรมดา รหัสผ่าน โทรศัพท์ เมล และอื่นๆ ในลักษณะเดียวกับที่เค้าโครงที่กำหนดไว้ช่วยให้เราสามารถปรับเปลี่ยนขนาดของ ส่วนประกอบและกำหนดตำแหน่งที่สัมพันธ์กัน ในกรณีนี้ ฟิลด์ข้อความมีตำแหน่งที่สัมพันธ์กับ textView ของชื่อเรื่อง
หากเราไปที่มุมมองแยก เราจะเห็นโค้ด xml ที่สร้างขึ้น และจากที่นี่ เราสามารถแก้ไขคุณสมบัติด้วยตนเองได้ ในกรณีนี้ เราได้เพิ่มสีให้กับชื่อและขนาด 25sp โปรดทราบว่าแต่ละองค์ประกอบมีคุณสมบัติ id รวมถึงคุณสมบัติในการควบคุมตำแหน่งของส่วนประกอบบนหน้าจอ
เราพบส่วนประกอบอื่นๆ เช่น เคล็ดลับ ซึ่งสอดคล้องกับก placeHolder ซึ่งจะแสดงในขณะที่ฟิลด์ว่างเปล่า คุณสามารถเพิ่มคุณสมบัติอื่นๆ ได้ในลักษณะเดียวกับการจัดสไตล์ส่วนประกอบ
ตอนนี้มีการเพิ่มส่วนประกอบประเภทแล้ว ซึ่งมีคุณสมบัติรหัสซึ่งสัมพันธ์กับส่วนประกอบฟิลด์ข้อความด้วย ในกรณีนี้ เราจะแก้ไขตัวระบุ
ตรรกะของแอปพลิเคชัน
เพื่อดำเนินการประมวลผลเชิงตรรกะและข้อมูล เราไปที่คลาส MainActivity.kt จากนั้นเราจะรับส่วนประกอบกราฟิกผ่าน id โดยใช้เมธอด findViewById()
เราได้เพิ่มเหตุการณ์การคลิกของปุ่มและสร้างฟังก์ชันที่เรียกว่า onClick() (สามารถเรียกได้ทุกรูปแบบ)
ในฟังก์ชันนี้ ตรรกะจะถูกเพิ่มเพื่อบันทึกค่าของฟิลด์ข้อความ ซึ่งมีการอ้างอิงในลักษณะเดียวกับปุ่ม แต่ในกรณีนี้ เป็นการสร้างส่วนประกอบประเภท EditText ที่อ้างอิง id ของฟิลด์ข้อความ
ต่อจากนั้น ได้รับค่าฟิลด์และเพิ่มลงในตัวแปร String ที่ถูกนำเสนอในส่วนประกอบประเภท Toast ที่อนุญาตให้แสดงข้อความชั่วคราวบนหน้าจอ
เมื่อเราเรียกใช้แอปพลิเคชัน โปรแกรมจำลองจะเริ่มทำงาน และเราสามารถทดสอบระบบได้โดยการเพิ่มชื่อผู้ใช้และกดปุ่ม "Enter" เราจะดูว่า Toast แสดงอย่างไร ซึ่งคงอยู่ไม่กี่วินาที
หลังจากนั้นเราแก้ไขหน้าจอโดยการเพิ่มองค์ประกอบ TextView อื่นที่ไม่มีข้อความ ซึ่งจะทำหน้าที่แสดงข้อมูลของชื่อที่พิมพ์ แต่ตอนนี้อยู่บนหน้าจอโดยตรง
เพื่อดำเนินการตรรกะนี้ เราจะกลับไปที่คลาส MainActivity.kt และในฟังก์ชันเราจะอ้างอิงส่วนประกอบ EditText ด้วย ID ที่กำหนด จากนั้นส่งข้อความที่เราต้องการแสดง
ต่อมาเราเปิดแอปพลิเคชันอีกครั้งและได้ผลลัพธ์ดังต่อไปนี้
อีกทางเลือกหนึ่งในการเก็บข้อมูลคือการประกาศส่วนประกอบทั่วโลก เพื่อหลีกเลี่ยงไม่ให้ต้องประกาศส่วนประกอบเหล่านั้นในแต่ละฟังก์ชัน:
ที่สำคัญน่าใช้!! เพื่อป้องกันไม่ให้คุณมีการอ้างอิงที่เป็นโมฆะ
การสังเกต:
ในบรรทัดที่ 11 และ 12 มีการใช้ nullsafety นี่คือฟีเจอร์ kotlin ที่อนุญาตให้ควบคุมค่า Null ภายในแอปพลิเคชัน ป้องกันไม่ให้โหลด NullPointerException ยอดนิยม เราไม่สามารถกำหนดค่า Null ได้โดยตรง แต่วิธีนี้เมื่อเราระบุ EditText? เรากำลังบอกคอมไพลเลอร์ว่าฟิลด์นี้สามารถมีการอ้างอิงที่เป็นโมฆะและอนุญาตให้ประมวลผลได้
ในบรรทัดที่ 26 และ 27 ใช้ !! เพื่อบอกคอมไพเลอร์ว่าอย่าตรวจดูว่าค่าเป็น null หรือเปล่าจึงจะสามารถคอมไพล์ได้โดยไม่มีปัญหา แต่ถ้าเป็น null ให้โยนข้อยกเว้นลงในคอนโซล เผื่อเรารู้ว่าค่า null มาถึงได้และเรายังคงต้องการประมวลผล
ทางเลือกอื่นที่แนะนำคือการโทรอย่างปลอดภัย ดังนั้นเมื่อคุณพยายามเรียกอ็อบเจ็กต์ ถ้าเป็นโมฆะ ข้อยกเว้นจะไม่ถูกส่งออกไป แต่ค่า Null จะถูกเก็บไว้โดยไม่ยุติกระบวนการ นั่นคือสาเหตุที่ตัวแปรต้องเป็นโมฆะ เพื่อให้คอมไพล์ได้ถูกต้อง
เพียงเท่านี้ เราก็มีแอปพลิเคชันแรกที่มีการบันทึกข้อมูลและเหตุการณ์ของปุ่ม
นอกจากนี้ยังอาจสนใจคุณ
มีอะไรที่คุณต้องการเพิ่มหรือแสดงความคิดเห็นเกี่ยวกับรายการนี้หรือไม่? อย่าลังเลที่จะทำ….และถ้าคุณชอบมัน ... ฉันขอเชิญคุณแบ่งปัน วาย สมัครสมาชิกโดยคลิกที่ปุ่ม "เข้าร่วมไซต์นี้" เพื่อฟังโพสต์เพิ่มเติมเช่นนี้ 😉