[Dev] ทำความรู้จักกับ class BuildConfig สำหรับ Android Application บน Eclipse

วันนี้บังเอิญไปเจอ class BuildConfig เห็นว่ามีประโยชน์ ก็เลยมาเล่าสู่กันฟังสักนิด

Android Developer logo

เมื่อเราสร้าง Android Application Project บน Eclipse โดยปกติแล้ว เราจะได้ Folder ย่อย ๆ ที่เป็นส่วนประกอบของ App ที่เราพัฒนามากมาย ซึ่งในแต่ละ Folder ก็มีหน้าที่แตกต่างกันออกไป

หนึ่งใน Folder ที่ Eclipse สร้างขึ้นมาให้อัตโนมัติ ก็คือ Folder gen

Folder gen ใน Android Application Project
Folder gen ใน Android Application Project

จากรูป จะเห็นว่า ภายใต้ Folder gen นั้น มี Package ชื่อเดียวกับ Package ของ App เบื้องต้นประกอบด้วยไฟล์

  • R.java – ไว้เก็บ class R สำหรับเก็บพวกตัวแปรสำหรับไว้อ้างอิง resource ทั้งหลาย และ
  • BuildConfig.java – ไว้เก็บ class BuildConfig ที่เราจะมาทำความรู้จักกับมัน

ซึ่งไฟล์ที่อยู่ภายใน Folder gen นี้ ห้ามแก้ไข นะคร๊าบบบบ เพราะมันจะถูกสร้างขึ้นใหม่เรื่อย ๆ

 

BuildConfig class

ถ้าเราลองเปิดดูไฟล์ BuildConfig.java จะพบกับ class BuildConfig ดังนี้

สังเกต Comment ในบรรทัดแรก ได้เขียนบอกไว้แล้วว่า DO NOT MODIFY

ภายใน class BuildConfig มีตัวแปร static อยู่ตัวนึง ชื่อว่า DEBUG และมีการกำหนดค่าเป็น true ไว้ ถ้าลองเขียนโปรแกรมให้อ้างอิงถึงตัวแปร DEBUG ดู ดังนี้

เมื่อ Run ดู จะพบว่า…

ค่า BuildConfig.DEBUG เมื่อ Run ทดสอบ
ค่า BuildConfig.DEBUG เมื่อ Run ทดสอบ

ซึ่งก็จะได้ค่าเป็น true ตามที่อยู่ใน BuildConfig class

ทีนี้ ลองทำการ Build และ Sign ให้เรียบร้อย แล้วนำไฟล์ apk ติดตั้งลงบน Android device ลอง Run ดู จะพบว่า…

ค่า BuildConfig.DEBUG เมื่อ Build และ Sign แล้ว
ค่า BuildConfig.DEBUG เมื่อ Build และ Sign แล้ว

ได้ค่าเป็น false!!!

นั่นก็คือ เราสามารถเขียนโปรแกรมตรวจสอบค่า BuildConfig.DEBUG ได้ ว่ากำลัง Run ทดสอบอยู่ หรือเป็น Production แล้วนั่นเอง

เริ่มเห็นประโยชน์กันรึยัง!?

สำหรับ BuildConfig นั้น ถูกเพิ่มมาใน Android SDK Tools และ ADT revision 17 เมื่อนานมาแล้ว

อ้างอิง : android-developers.blogspot.com

แต่สำหรับบน Android Studio นั้น ผมหาไม่เจอ Hit with Ball ถ้าใครเจอแล้ว ช่วยบอกกล่าวกันด้วยนะครับ Sweet Kiss

Leave a Reply

Your email address will not be published. Required fields are marked *