android Archive

เก็บตกเรื่องการปรับปรุงความเร็วของ Gradle

จากงาน Android Bangkok Conference 2019 ที่ผ่านมา มี session อธิบายถึงการทำงานของ Gradle ซึ่งเป็น build tool ของ Android project  ไม่ว่าจะเขียนด้วยภาษา Java หรือ Kotlin ก็ตาม ปัญหาที่ปวดหัวของนักพัฒนาคือ เวลาในการ build ของ Gradle ที่นานนั่นเอง

Read More…

ความสามารถที่น่าสนใจใน Android Studio 3.3

สำหรับ Android developer ตัวจริงน่าจะใช้ Android Studio 3.4 หรือ 3.5 กันไปแล้ว แต่สำหรับคนไม่ชอบการ update แล้ว project fail ทุกครั้ง ก็คงต้องชอบกับ Android Studio 3.3 ตัวเต็ม ๆ ซึ่งไส้ในคือ IntelliJ IDE  2018.2.2 รวมไปถึงสนับสนุน Kotlin 1.3.11 ซึ่งมีความสามารถที่น่าสนใจพอควร มาดูใน feature ที่ผมใช้บ่อย ๆ

Read More…

Robolectric ถูกเพิ่มเข้ามาใน AndroidX Testing แล้ว

หลังจากที่ AndroidX Testing ถูกเพิ่มเข้ามาใน JetPack แล้ว Version ล่าสุดของ AndroidX Testing คือ 1.0.0 ซึ่งมีการเปลี่ยนแปลงที่น่าสนใจดังนี้ เพิ่ม Robolectric 4.0 เข้ามา ค่าของ minSdkVersion เป็น 14 และ targetSdkVersion เป็น 28 สนับสนุน Instant apps แล้ว

Read More…

มาดูโครงสร้าง code ของ Google I/O 2018 app for Android กัน

จาก session Architecture Components in Real Life (Android) ในงาน Mobile Conf 2018 มีคำถามหนึ่งที่น่าสนใจคือ ทาง Google ได้ปล่อย source code ของ Google I/O 2018 app ออกมา เหล่า Android developer ได้เข้าไปดู เข้าไปศึกษาหรือไม่ ? คำตอบที่ได้รับกลับมาคือ เงียบ (อาจจะมีคนเข้าไปดูก็ได้ แต่ไม่แสดงตัวเท่านั้นเอง) เป็นสิ่งที่แปลกมาก ๆ นะ (หรือเป็นเรื่องปกติไปแล้วนะ) ดังนั้นเหล่า Android developer มาลองศึกษากันหน่อย ว่า Google I/O 2018 app นั้นเขาพัฒนากันออกมาอย่างไร ? มีโครงสร้างอย่างไรบ้าง ? ดังนั้นมาลองดูกัน

Read More…

ว่าง ๆ มาทำทำความรู้จักกับ 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…