android-fin
พอดีกำลังศึกษาการพัฒนา Android app ด้วยภาษา Kotlin
แต่ดันไปเจอคำแนะนำหนึ่งที่น่าสนใจคือ

ให้ลด ละ เลิก การใช้คำสั่ง findViewById ซะ
ไม่งั้นชีวิตจะลำบากนะ

คำถามที่เกิดขึ้นมาคือ

  • ทำไมล่ะ ?
  • ถ้าไม่ใช้ แล้วจะใช้อะไรล่ะ ?

ดังนั้นเรามาหาคำตอบกันดีกว่า

Method findViewById(int) นั้นใช้สำหรับการหา view ต่าง ๆด้วย id

จาก Activity, View, Fragment และ Adapter
การใช้งานปกติก็ไม่น่ามีปัญหาอะไรมากนัก
แต่เมื่อระบบงานใหญ่ และ ซับซ้อนมากขึ้น
จึงเกิด code รูปแบบนี้ขึ้นมา !!!

ซึ่งจะเห็นว่า code มันซ้ำซ้อนมาก ๆ
บางคนถึงกับบอกว่า ทำไมเราต้องเขียนแบบนี้กันด้วยล่ะ

คำถามที่เกิดขึ้นมาคือ มีวิธีการอื่น ๆ อีกไหม ?

คำตอบ มีนะ เพียบเลย
ทั้ง Data binding library ที่มีมากับ Android เลย
ทั้ง 3-party library สำหรับทำ view binding เช่น

โดยวิธีการเหล่านี้ มันดีขึ้นกว่าเดิมนะ
แต่ต้องทำการเพิ่ม code และ configuration ต่าง ๆ ขึ้นมาอีกเช่นกัน
ตัวอย่างเช่น

คำถาม มันน่าจะมีวิธีการที่ดีกว่านี้อีกไหมนะ ?

ตอนนี้มาศึกษา Kotlin for Android ทำให้พบว่า
มันมีแนวทางที่ง่ายกว่าอีกนะ
ไม่ต้องทำอะไรเพิ่มเติมมากนัก
เพียงแค่นำ Kotlin StdLib มาใช้ใน Android project
และเปลี่ยน Java File เป็น Kotlin ก็ใช้งานได้แล้ว
แสดงด้วย code ดังนี้

ชีวิตมันดีขึ้นมากมายเลยนะ
ของแบบนี้มันต้องนำมาพัฒนา Android app กันได้แล้ว
ตัวอย่าง source code อยู่ที่ Github::Up1::Hello Kotlin

Reference Websites
https://kotlinlang.org/docs/tutorials/kotlin-android.html
http://cirorizzo.net/2016/03/04/building-a-kotlin-project/
https://ragunathjawahar.wordpress.com/2015/03/23/kotlin-findviewbyid-dead-as-dinosaurs/