ยินดีต้อนรับสู่หลักสูตรหลักพื้นฐานของ Android Kotlin ซึ่งสร้างโดยทีมฝึกอบรมนักพัฒนาซอฟต์แวร์ของ Google หลักสูตรนี้มี Codelab ชุดหนึ่งที่จะแนะนำหลักพื้นฐานในการสร้างแอป Android โดยใช้ Kotlin ในหลักสูตรนี้ คุณจะได้เรียนรู้แนวคิดพื้นฐานในการเขียนโปรแกรม Android Kotlin และสร้างแอปต่างๆ
เราขอแนะนำให้คุณทำ Codelab ตามลำดับ แต่ไม่บังคับ
ดูข้อมูลเกี่ยวกับการฝึกอบรม Android อื่นๆ ที่ทีมฝึกอบรมของ Google Developers สร้างขึ้นได้ที่ Google Developers Training: Android
ข้อกำหนดเบื้องต้น
หากต้องการเรียนหลักสูตรพื้นฐานของ Kotlin ใน Android เราขอแนะนำให้คุณมีประสบการณ์อย่างน้อย 2 ปีในภาษาโปรแกรมเชิงวัตถุที่สมบูรณ์ เช่น Java, C++ หรือ Smalltalk
คุณควรคุ้นเคยกับแนวคิด เครื่องมือ และคำศัพท์ทั้งหมดที่สอนในหลักสูตร Kotlin Bootcamp for Programmers ฟรีของ Udacity
นอกจากนี้ คุณควรคุ้นเคยกับการไปยังส่วนต่างๆ ของ GitHub และแนวคิดต่อไปนี้
- การทำงานแบบหลายเธรดและการจัดการข้อยกเว้นขั้นพื้นฐาน
- วิธีสร้าง คอมไพล์ และเรียกใช้โค้ดในแง่ทั่วไป
นอกจากนี้ การมีความรู้เกี่ยวกับ Functional Programming ก็เป็นประโยชน์ แต่ไม่จำเป็น
โค้ดเริ่มต้นและโค้ดโซลูชัน
เมื่อทำตาม Codelab ในหลักสูตรหลักพื้นฐานของ Android Kotlin คุณจะได้สร้างแอป ซอร์สโค้ดสำหรับแอปเริ่มต้นและโค้ดโซลูชันสำหรับแอปที่คุณสร้างจะอยู่ใน GitHub
หลักพื้นฐานของ Android Kotlin มีบทเรียนต่อไปนี้
- บทเรียนที่ 1: สร้างแอปแรก
- บทเรียนที่ 2: เลย์เอาต์
- บทเรียนที่ 3: การนำทาง
- บทเรียนที่ 4: วงจรของกิจกรรมและ Fragment
- บทเรียนที่ 5: คอมโพเนนต์สถาปัตยกรรม
- บทเรียนที่ 6: ฐานข้อมูล Room และโครูทีน
- บทเรียนที่ 7: RecyclerView
- บทที่ 8: การเชื่อมต่ออินเทอร์เน็ต
- บทเรียนที่ 9: ที่เก็บ
- บทเรียนที่ 10: การออกแบบสำหรับทุกคน
แต่ละบทเรียนจะมี Codelab หลายรายการ
บทเรียนที่ 1: สร้างแอปแรก

บทเรียนนี้จะสอนวิธีตั้งค่า Android Studio เพื่อใช้ Kotlin และวิธีสร้างแอป คุณเริ่มต้นด้วย "Hello World" และเลื่อนขึ้นไปที่แอปที่ใช้ไฟล์รูปภาพและตัวแฮนเดิลการคลิก คุณจะได้เรียนรู้โครงสร้างของโปรเจ็กต์ Android วิธีใช้และแก้ไข View ในแอป Android Kotlin และวิธีตรวจสอบว่าแอปของคุณเข้ากันได้กับเวอร์ชันก่อนหน้า นอกจากนี้ คุณยังจะได้เรียนรู้เกี่ยวกับระดับ API และไลบรารี Android Jetpack ด้วย
บทเรียนที่ 1 มี Codelab ต่อไปนี้
- 1.0 ติดตั้ง Android Studio
- 1.1 เริ่มต้นใช้งาน
- 1.2 โครงสร้างพื้นฐานของแอป
- 1.3 แหล่งข้อมูลรูปภาพและความเข้ากันได้
- 1.4 ดูวิธีรับความช่วยเหลือด้วยตนเอง
บทเรียน 2: เลย์เอาต์

ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีใช้เครื่องมือแก้ไขเลย์เอาต์ของ Android Studio เพื่อสร้างเลย์เอาต์เชิงเส้นและเลย์เอาต์ข้อจำกัด คุณสร้างแอปที่รับและแสดงข้อมูลที่ผู้ใช้ป้อน ตอบสนองต่อการแตะของผู้ใช้ และเปลี่ยนระดับการมองเห็นและสีของมุมมอง บทเรียนนี้ยังสอนวิธีใช้การเชื่อมโยงข้อมูลเพื่อหลีกเลี่ยงการเรียกใช้ findViewById() ที่ไม่มีประสิทธิภาพด้วย
บทเรียนที่ 2 มี Codelab ต่อไปนี้
- 2.1 เลย์เอาต์เชิงเส้นโดยใช้เครื่องมือแก้ไขการออกแบบ
- 2.2 เพิ่มการโต้ตอบของผู้ใช้
- 2.3 Constraint Layout โดยใช้เครื่องมือแก้ไขเลย์เอาต์
- 2.4 ข้อมูลพื้นฐานเกี่ยวกับการเชื่อมโยงข้อมูล
บทที่ 3: การนำทาง

ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีสร้างการนำทางที่เป็นประโยชน์ในแอป โดยการสร้าง Fragment และเพิ่มลงในแอป จากนั้นเพิ่มการนำทางไปยังแอปโดยใช้กราฟการนำทางของ Android Studio คุณเพิ่ม Navigation Drawer และเมนูตัวเลือกในแอป และทำงานกับ Back Stack ของแอปเพื่อเปลี่ยนปลายทางของปุ่มย้อนกลับของระบบ สุดท้าย คุณจะได้เรียนรู้วิธีเรียกใช้กิจกรรมภายนอกจากภายในแอป
บทเรียนที่ 3 มี Codelab ต่อไปนี้
บทเรียนที่ 4: วงจรของกิจกรรมและ Fragment

ในบทเรียนนี้ คุณจะได้เรียนรู้เกี่ยวกับวงจรของกิจกรรมและ Fragment รวมถึงวิธีจัดการสถานการณ์วงจรที่ซับซ้อน คุณทำงานกับแอปเริ่มต้นที่มีข้อบกพร่องหลายอย่างที่เกี่ยวข้องกับวงจรของ Android คุณเพิ่มการบันทึกลงในแอปเพื่อให้เข้าใจเหตุการณ์วงจรของแอปได้ดียิ่งขึ้น และแก้ไขข้อบกพร่องที่แอปมี รวมถึงเพิ่มการปรับปรุงบางอย่างลงในแอป นอกจากนี้ คุณยังได้เรียนรู้เกี่ยวกับไลบรารีวงจรของ Android Jetpack ซึ่งช่วยให้คุณจัดการเหตุการณ์วงจรด้วยโค้ดที่เป็นระเบียบมากขึ้นและดูแลรักษาง่ายขึ้นได้
บทเรียนที่ 4 มี Codelab ต่อไปนี้
บทเรียนที่ 5: องค์ประกอบของสถาปัตยกรรม

บทเรียนนี้จะสอนวิธีใช้ออบเจ็กต์ ViewModel และ LiveData คุณจะได้เรียนรู้วิธีใช้ViewModelออบเจ็กต์เพื่อให้ข้อมูลยังคงอยู่แม้จะมีการเปลี่ยนแปลงการกำหนดค่า เช่น การหมุนหน้าจอ คุณแปลงข้อมูล UI ของแอปเป็น LiveData ที่แคปซูล และเพิ่มเมธอด Observer ที่จะได้รับการแจ้งเตือนเมื่อค่าของ LiveData เปลี่ยนแปลง
นอกจากนี้ คุณยังผสานรวม LiveData และ ViewModel กับการเชื่อมโยงข้อมูลเพื่อให้มุมมองในเลย์เอาต์สื่อสารกับออบเจ็กต์ ViewModel ได้โดยตรงโดยไม่ต้องใช้ Fragment ของแอปเพื่อส่งต่อข้อมูล เทคนิคนี้จะช่วยลดความซับซ้อนของโค้ดและไม่จำเป็นต้องใช้ตัวแฮนเดิลการคลิกในตัวควบคุม UI
บทเรียนที่ 5 มีโค้ดแล็บต่อไปนี้
- 5.1 ViewModel และ ViewModelProvider
- 5.2: LiveData และเครื่องสังเกตการณ์ LiveData
- 5.3: DataBinding with ViewModel and LiveData
- 5.4: การเปลี่ยนรูปแบบ LiveData
บทเรียนที่ 6: ฐานข้อมูล Room และโครูทีน

บทเรียนนี้จะสอนวิธีใช้ไลบรารีฐานข้อมูล Room Room ช่วยจัดการงานต่างๆ ในการตั้งค่าและกำหนดค่าฐานข้อมูล รวมถึงลดความซับซ้อนของโค้ดสำหรับการโต้ตอบกับฐานข้อมูล คุณจะได้เรียนรู้วิธีใช้โครูทีนของ Kotlin เพื่อย้ายการดำเนินการฐานข้อมูลออกจากเทรดหลัก และเรียนรู้เพิ่มเติมเกี่ยวกับการใช้ ViewModel และ LiveData กับการนำทางแอป
บทที่ 6 มี Codelab ต่อไปนี้
บทที่ 7: RecyclerView

บทเรียนนี้จะสอนวิธีใช้ RecyclerView เพื่อแสดงรายการและตารางรายการได้อย่างมีประสิทธิภาพ สำหรับรายการและตารางที่ซับซ้อน คุณจะได้เรียนรู้วิธีทำให้ RecyclerView มีประสิทธิภาพมากขึ้น รวมถึงทำให้โค้ดบำรุงรักษาและขยายได้ง่ายขึ้น คุณจะได้เรียนรู้วิธีทำให้รายการใน RecyclerView คลิกได้ นอกจากนี้ คุณยังได้เรียนรู้วิธีเพิ่มตัวยึดมุมมองและเลย์เอาต์มากกว่า 1 รายการลงในรายการและตารางกริดใน RecyclerView เช่น เพื่อเพิ่มส่วนหัวในแอป
บทที่ 7 มี Codelab ต่อไปนี้
- 7.1 พื้นฐานของ RecyclerView
- 7.2 DiffUtil และการเชื่อมโยงข้อมูลกับ RecyclerView
- 7.3 GridLayout ที่มี RecyclerView
- 7.4 การโต้ตอบกับรายการ RecyclerView
- 7.5 ส่วนหัวใน RecyclerView
บทที่ 8: การเชื่อมต่ออินเทอร์เน็ต

บทเรียนนี้จะสอนวิธีใช้ไลบรารีที่ชุมชนพัฒนาขึ้นเพื่อเชื่อมต่อกับเว็บเซอร์วิสเพื่อดึงและแสดงข้อมูล คุณจะได้เรียนรู้วิธีจัดการข้อผิดพลาดเกี่ยวกับเครือข่ายที่อาจเกิดขึ้น และใช้ไลบรารี Glide เพื่อโหลดและแสดงรูปภาพจากอินเทอร์เน็ต นอกจากนี้ คุณยังสร้าง RecyclerView และใช้เพื่อแสดงตารางรูปภาพได้ด้วย
บทที่ 8 มีโค้ดแล็บต่อไปนี้
- 8.1 การรับข้อมูลจากอินเทอร์เน็ต
- 8.2 การโหลดและแสดงรูปภาพจากอินเทอร์เน็ต
- 8.3 การกรองและมุมมองรายละเอียดด้วยข้อมูลอินเทอร์เน็ต
บทที่ 9: ที่เก็บ

บทเรียนนี้จะสอนวิธีเพิ่มที่เก็บเพื่อแยกเลเยอร์ข้อมูลและจัดเตรียม API ที่สะอาดให้กับส่วนอื่นๆ ของแอป Android Kotlin นอกจากนี้ คุณยังจะได้เรียนรู้วิธีใช้ WorkManager เพื่อกำหนดเวลางานในเบื้องหลังอย่างมีประสิทธิภาพและเหมาะสม
บทที่ 9 มี Codelab ต่อไปนี้
บทเรียนที่ 10: การออกแบบสำหรับทุกคน

บทเรียนนี้จะสอนพื้นฐานของการออกแบบแอป Android ที่สวยงามและเข้าถึงได้ รวมถึงแนะนำวิธีสร้างแอปที่ค้นหาและแสดงข้อมูลเกี่ยวกับการพบปะของ Google Developer Group (GDG)
บทที่ 10 มี Codelab ต่อไปนี้
เริ่มบทเรียนถัดไป:
เริ่มหลักสูตรหลักพื้นฐานของ Android Kotlin โดยทำ Codelab แรก 1.0 ติดตั้ง Android Studio