![]()
![]()
ว่าง ๆ ลองไปดูภาษา Groovy พบสิ่งที่น่าสนใจคือ
สนับสนุนการพัฒนา Android app แล้วนะ (ตามจริงนานแล้วนะ)
โดยใช้ plugin ชื่อว่า
Gradle Groovy Android Plugin
ดังนั้นเรามาลองใช้งานกันหน่อยสิ
ว่าเป็นอย่างไรกันบ้าง
Hello World สิครับ
เริ่มต้นด้วยการ configuration project ของเรา
[gist id="8b3e6ece759f9a134363202c5f09ad9b" file="build.gradle"]
โครงสร้างของ project เปลี่ยนนิดหน่อย แต่เหมือน kotlin เลย
นั่นคือ
โดยค่า default จะต้องสร้าง folder ใหม่สำหรับเก็บ code ภาษา Groovy ขึ้นมา
- src/main/groovy
- src/test/groovy
- src/androidTest/groovy
แต่ถ้าอยาก custom ก็ทำได้เช่นกันดังนี้
ใส่ไว้ใน folder เดียวกับภาษา Java
[gist id="8b3e6ece759f9a134363202c5f09ad9b" file="custom.gradle"]
เมื่อทุกอย่างพร้อมก็ Hello World กันเถอะ
ลองนำ
SwissKnife หรือ view injection มาใช้นิดหน่อย
[gist id="8b3e6ece759f9a134363202c5f09ad9b" file="MainActivity.groovy"]
เมื่อลองทำการ run app เจอ error ดังนี้
[code]
Error:com.android.builder.dexing.DexArchiveBuilderException: Error while dexing org/codehaus/groovy/vmplugin/v7/IndyInterface.class
Error:com.android.dx.cf.code.SimException: signature-polymorphic method called without --min-sdk-version >= 26
[/code]
นั่นคือ min-sdk-version ต้องมากกว่าเท่ากับ 26 (ซวยละสำหรับ version เก่า ๆ)
เจอว่ามันคือ
issue ของ Groovy นะ
มี workaround ด้วยนะเออ
ไว้อีกสักพักน่าจะแก้เรียบร้อย !!
ดังนั้นแก้ไขนิดหน่อยคือ min sdk version = 26 แล้ว run ได้เลย
นอกจากภาษา Java และ Kotlin แล้ว
ภาษา Groovy ก็เป็นอีกหนึ่งทางเลือกที่น่าสนใจสำหรับการพัฒนา Android app
ไว้ลองศึกษากันดูครับ
ขอให้สนุกกับการ coding ครับ
ตัวอย่างของ source code อยู่ที่
Github::Demo