การปรับเปลี่ยนครั้งแรกของแอป - การจับภาพเหตุการณ์และข้อมูล - เทคโนโลยี
ข้ามไปที่เนื้อหา

การปรับเปลี่ยนแอปครั้งแรก – การจับภาพเหตุการณ์และข้อมูล

โฆษณา

ในรายการเกี่ยวกับการสร้างโปรเจ็กต์แรกบน 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 จะถูกเก็บไว้โดยไม่ยุติกระบวนการ นั่นคือสาเหตุที่ตัวแปรต้องเป็นโมฆะ เพื่อให้คอมไพล์ได้ถูกต้อง

 

เพียงเท่านี้ เราก็มีแอปพลิเคชันแรกที่มีการบันทึกข้อมูลและเหตุการณ์ของปุ่ม

 

นอกจากนี้ยังอาจสนใจคุณ





มีอะไรที่คุณต้องการเพิ่มหรือแสดงความคิดเห็นเกี่ยวกับรายการนี้หรือไม่? อย่าลังเลที่จะทำ….และถ้าคุณชอบมัน ... ฉันขอเชิญคุณแบ่งปัน วาย สมัครสมาชิกโดยคลิกที่ปุ่ม "เข้าร่วมไซต์นี้" เพื่อฟังโพสต์เพิ่มเติมเช่นนี้ 😉