Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สวัสดี Groovy กับการพัฒนา Android app

$
0
0

ว่าง ๆ ลองไปดูภาษา 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

Viewing all articles
Browse latest Browse all 1997

Trending Articles