android Archive

ว่าง ๆ มาทำทำความรู้จักกับ Navigation Architecture Component

จากงาน Google I/O 2018 นั้นมีหลายสิ่งอย่างมาก ๆ สำหรับชาว Android จะเห็นได้ว่าทำการสรุปและรวบรวมชุดเครื่องมือต่าง ๆ ไว้ในชื่อใหม่ว่า Android Jetpack ซึ่งช่วยทำให้การพัฒนาง่ายและสะดวกขึ้น ลดจำนวน code ขยะหรือที่ไม่จำเป็นลงไป รวมทั้งช่วยพัฒนาระบบที่มีคุณภาพและเสถียรอีกด้วย บอกได้คำเดียวว่าเพียบ มีทั้งของเก่าและใหม่ มีตัวหนึ่งที่น่าสนใจคือ Navigation หรือ Navigation Architecture Component ดังนั้นมาทำความรู้จักกันหน่อย จะเข้าใจง่ายขึ้น ก็ต้องใช้งานสิ มาเริ่มกันเลย

Read More…

บันทึกการเขียน Unit test สำหรับ RxJava บน Android app ไว้นิดหน่อย

จดบันทึกไว้นิดหน่อยสำหรับการเขียน Unit test สำหรับทดสอบ Android app ที่พัฒนาด้วย Reactive for Java 2.x (RxJava) ซึ่งมีโครงสร้างง่าย ๆ คือ Presenter สำหรับควบคุมการทำงานหลักของระบบ Repository สำหรับจัดการการดึงข้อมูลจาก REST APIs โดยนำ RxJava มาใช้ในส่วนของ Presenter เพื่อทำงานกับการดึงข้อมูลจาก Repository คำถามที่ตั้งไว้คือ จะทำการทดสอบในส่วนของ Presenter อย่างไรดี ? เพราะว่ามีการใช้งานทั้ง Repository หนักกว่านั้นคือ RxJava นั่นเอง ดังนั้นมาเขียนชุดทดสอบกันดีกว่า

Read More…

ทำความรู้จักกับ Android Test Orchestrator

เนื่องจากมีเหตุต้องมาใช้งาน Android Test Orchestrator เพื่อช่วยแก้ไขปัญหาและปรับปรุงการทำงานของ Instrumentation test ของ Android app ดังนั้นจึงทำการสรุปความรู้พื้นฐานและการใช้งานไว้นิดหน่อย น่าจะเป็นเครื่องมือที่ใช้กันน้อยมาก ๆ แต่มันก็มีประโยชน์นะ

Read More…

มาสร้าง Build caching server ของ Gradle กันหน่อย

สำหรับการใช้งาน Gradle ทั้ง Android, Backend และ Frontend นั้น ในแต่ละ task นั้นสร้าง cache data ไว้เสมอ ทำให้ทำงานได้เร็วขึ้น แต่ความเร็วของแต่ละเครื่องที่ build ขึ้นอยู่กับการสร้าง cache data นี่แหละ ดังนั้นถ้าแต่ละเครื่องทำการ share cache data ก็น่าจะดีนะ ดังนั้นมาใช้งาน Caching server กันหน่อยดีกว่า เป้าหมายเพื่อความเร็วในการ build นั่นคือทำให้ชีวิตนักพัฒนาดีขึ้น

Read More…

ใช้สิ รออะไร Android Studio 3.1

Android Studio 3.1 ปล่อย version stable ออกมาให้ใช้แล้ว (ใครใช้ Canary มาก็จะเฉย ๆ) ซึ่งมีความสามารถหลายสิ่งอย่าง ทั้งช่วยให้การพัฒนา app ง่ายขึ้น ทั้งการช่วยหาปัญหาของ app ได้ดีขึ้น มาดูกันหน่อย

Read More…

[Android] เปิดปิดการทำงานของ Jacoco (Code coverage) ตามที่ต้องการ

ปัญหาอย่างหนึ่งของการพัฒนา Android app คือ การทดสอบ แต่เมื่อเขียนชุดการทดสอบแล้ว มักจะมีการเปิดให้ทำ Code coverage เสมอ ซึ่งเครื่องมือที่ใช้คือ Jacoco แต่ปัญหาที่ตามมาจากการเปิดให้ทำ Code coverage คือ ความช้าของการ build ดังนั้นเรามาเปิดหรือปิดความสามารถนี้กันหน่อย

Read More…

มาใช้งาน Android KTX กันนะ (Preview version)

Android KTX คืออะไร ? คือ เป็นชุดของ API สำหรับการพัฒนา Android application ด้วยภาษา Kotlin ที่อยู่บน Android framework และ Support library ต่าง ๆ มีเป้าหมายเพื่อ ให้สามารถเขียน Kotlin ถูกต้องและกระชับตามหลักของภาษา (Less code, More fun) ดังนั้นมาลองใช้งานกันดู

Read More…

[Kotlin for Android] ว่าง ๆ มาดูจำนวน Method ของ Data Class กัน

หลังดูบอลมานั่งเขียน Android app ด้วยภาษา Kotlin กันหน่อย ซึ่งเป็นภาษาที่มีความสามารถที่ดีมากมาย หนึ่งในนั้นคือ Data Class ที่ Java Developer ถือว่าเป็น killer feature เลยนะ เพราะว่า ไม่ต้องมาเขียนหรือ generate getter/setter method เอง ดังนั้นทุกคนก็จะ convert พวก POJO class มาเป็น Data Class กันหมดเลย รู้กันไหมว่า ความสามารถนี้มันมาพร้อม cost นะ มาลองดูกัน

Read More…

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

ว่าง ๆ ลองไปดูภาษา Groovy พบสิ่งที่น่าสนใจคือ สนับสนุนการพัฒนา Android app แล้วนะ (ตามจริงนานแล้วนะ) โดยใช้ plugin ชื่อว่า Gradle Groovy Android Plugin ดังนั้นเรามาลองใช้งานกันหน่อยสิ ว่าเป็นอย่างไรกันบ้าง Hello World สิครับ

Read More…

Android :: ว่าด้วยเรื่องของการทดสอบด้วย Espresso กับ Retrofit/OkHttp

จากการแบ่งปันเรื่องของ Automation Test ด้วย Espresso สำหรับ Android app ปัญหาอย่างหนึ่งที่พบเจอคือ เมื่อต้องทำการสอบระบบงานที่ทำงานแบบ Background operation ยกตัวอย่างเช่น การเชื่อมต่อไปยัง REST API หรือ WebService ด้วย Retrofit และ OkHttp รวมทั้งการจัดการเรื่องของ Thread เอง โดยสิ่งต่าง ๆ เหล่านี้อยู่เหนือขอบเขตความสามารถของ Espresso คำถามคือ แล้วจะจัดการอย่างไรดีละ ? เรามาหาคำตอบกัน

Read More…