24 October 2019

[Android Dev Tips] วันนี้คุณย้ายจาก Support Library ไปเป็น AndroidX แล้วหรือยัง?



        ในทุกวันนี้ในการพัฒนาแอปแอนดรอยด์นั้น ไม่ว่าจะเป็นที่ไหนก็คงขาด AndroidX ไปไม่ได้ เพราะว่าเป็น Backward Compat Library ที่จะช่วยให้นักพัฒนาสามารถเขียนโค้ดได้สะดวกขึ้น ง่ายขึ้น โดยไม่ต้องกังวลว่าโค้ดดังกล่าวจะทำงานได้ปกติสุขบนแอนดรอยด์เวอร์ชันเก่าๆหรือไม่ เพราะว่าทีม Android ของ Google จะคอยจัดการเรื่องนี้ให้แทนนั่นเอง

24 September 2019

[Android Code] รู้จักกับคำสั่งสำหรับ Security ที่อยู่ใน AndroidX



        นักพัฒนาแอนดรอยด์หลายๆคนคงรู้จักกับ AndroidX กันอยู่แล้ว (ถ้าใครยังไม่รู้ถือว่าบาปแล้วล่ะ) ซึ่งหนึ่งในนั้นที่น่าสนใจไม่แพ้กันก็มีชื่อเรียกว่า Security นี่แหละ

14 September 2019

[Android Code] View Binding บนแอนดรอยด์ทำแบบไหนได้บ้างนะ?


        เจ้าของบล็อกเชื่อว่าคงไม่มีนักพัฒนาคนไหนที่ไม่รู้จักกับการทำ View Binding บนแอนดรอยด์ เพราะมันคือขั้นตอนพื้นฐานที่นักพัฒนาทุกคนต้องทำ เพื่อให้โค้ด Java หรือ Kotlin ในโปรเจคแอนดรอยด์สามารถเรียกใช้งาน View ที่อยู่ใน Layout XML

        ซึ่งในบทความนี้ขอพูดถึงเฉพาะ Kotlin นะ ลืมวิธีเขียนโค้ด Java ไปแล้ว 😂

08 September 2019

[Android Code] สร้าง Repository ใน MVVM บนแอนดรอยด์ให้เขียนเทสได้ง่ายกันเถอะ



        ถ้าจะต้องเขียนแอปขึ้นมาใหม่ซักตัวหนึ่ง และต้องเลือก Structure Pattern ในโปรเจคนั้นๆ ส่วนใหญ่ก็คงจะเลือก MVVM กัน เพราะว่าเป็น Pattern ที่ค่อยข้างได้รับความนิยมและการสนับสนุนจากทีมพัฒนาแอนดรอยด์มากที่สุดเลยก็ว่าได้ และยิ่งนำ Clean Architecture เข้ามาใช้ด้วยแล้วก็ยิ่งทำให้โค้ดนั้นดูดีมากขึ้นไปอีก

16 August 2019

[Android Dev Tips] เปิดโปรเจค Android Studio ผ่าน Command Line บน Mac OS และ Linux



        เรื่องมีอยู่ว่า ในบางครั้งเจ้าของบล็อกต้องใช้ Terminal อยู่บ่อยๆ และบางครั้งก็อยากจะสั่งเปิดโปรเจคบน Android Studio ได้ทันทีเหมือนกับ VS Code บ้าง จะได้ไม่ต้องไปนั่งกดเปิด Android Studio แล้ว Browse หาโปรเจคให้เสียเวลา

10 July 2019

[Android Dev Tips] รู้จักกับ Biometric Authentication บนแอนดรอยด์




        ในทุกวันนี้อุปกรณ์แอนดรอยด์ส่วนใหญ่ในท้องตลาดนั้นจะมี Biometric Sensor อยู่เสมอ โดยที่รู้จักกันเยอะที่สุดก็คือ Fingerprint Scanner นั่นเอง นอกจากจะช่วยให้ผู้ใช้สามารถใช้งานเครื่องได้อย่างปลอดภัยและรวดเร็วแล้ว ก็ยังมี API ให้นักพัฒนาได้ใช้งานกันอีกด้วย

        ซึ่งบทความนี้จะไม่ได้มาพูดถึงเรื่องการเขียนโค้ดแต่อย่างใด เพราะจะมาเล่าให้ฟังเพื่อให้ผู้ที่หลงเข้ามาอ่านได้รู้จักกับเจ้า Biometric Authentication บนแอนดรอยด์กันว่ามันคืออะไร มันเป็นยังไง และทำไมนักพัฒนาแอนดรอยด์ควรจะรู้จักกับเจ้าสิ่งนี้

15 May 2019

[Android Code] รู้จักกับ ViewPager2 ที่จะมาแทน ViewPager แบบเดิมๆ



        หลังจากที่ ViewPager ถูกใช้งานมาอย่างยาวนานพร้อมกับข้อจำกัดบางอย่างที่ไม่สามารถทำได้ ในตอนนี้ทีมแอนดรอยด์ก็ได้สร้าง ViewPager2 ขึ้นมาเพื่อใช้แทน ViewPager ตัวเก่าแล้ว

11 May 2019

[Android Code] จะใช้ ViewModel หรือ AndroidViewModel ดี?



        ผู้ที่หลงเข้ามาอ่านหลายๆคนคงคุ้นเคยกับ ViewModel ใน Android Architecture Component กันมาพอสมควรแล้ว ซึ่งจะมีทั้งคลาส ViewModel และ AndroidViewModel ให้เรียกใช้งาน

        อ้าว!? แล้วมันต่างกันยังไงล่ะ?

08 April 2019

[Android Code] มาเปลี่ยน Dependency Injection ให้เป็นเรื่องง่ายด้วย Koin กันดูมั้ย?



        ถ้าพูดถึง Dependency Injection บนแอนดรอยด์ก็จะนึกถึง Dagger 2 เป็นอย่างแรก เพราะว่าเป็น Dependency Injection Framework ตัวแรกๆที่ออกมาใช้กัน

        แต่รู้หรือไม่ว่าจริงๆแล้วยังมีอีกตัวที่น่าสนใจไม่แพ้กัน นั่นก็คือ Koin ที่เข้าใจได้ง่ายกว่า เขียนโค้ดน้อยกว่า และรองรับ Kotlin โดยเฉพาะ จึงเหมาะกับยุคนี้ที่ใครๆก็ใช้ภาษา Kotlin ในการเขียนแอปแอนดรอยด์กันแล้ว

20 March 2019

[Android Dev Tips] บทย่อของการเปลี่ยนแปลงใน Android แต่ละเวอร์ชัน [Feature & API]



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

08 February 2019

[Android Dev Tips] เดี๋ยวนี้ Google Play Console เค้ามี Internal Test ให้แล้วนะ



        ในการทดสอบแอปนั้น ถ้าผู้ที่หลงเข้ามาอ่านเป็นนักพัฒนาอิสระที่สร้างแอปขึ้นมาด้วยตัวเอง การนั่งทดสอบแอปของตัวเองก็คงไม่ใช่เรื่องยากอะไร ก็แค่ Build APK เพื่อติดตั้งลงในเครื่องแล้วเริ่มทดสอบ แต่ทว่าโลกในการพัฒนาแอปขนาดใหญ่ๆนั้นเลี่ยงไม่ได้ที่จะต้องมีทีม และผู้ที่หลงเข้ามาอ่านก็จะกลายเป็นคนที่พัฒนาแอปเป็นหลัก และการทดสอบแอปส่วนใหญ่ก็จะตกอยู่ที่ Tester ภายในทีมนั่นเอง 

24 January 2019

[Android Design] รับมือกับปัญหาชวนปวดหัวกับขนาดของตัวอักษรเมื่อต้องเจอกับฟอนต์ที่หลากหลาย



        ถ้าพูดถึงเรื่องฟอนต์บนแอนดรอยด์ ผู้ที่หลงเข้ามาอ่านก็คงนึกถึง Roboto เนอะ เพราะมันเป็นฟอนต์ที่ใช้บน Android 5.0 Lollipop เป็นต้นมา ถ้าทำแอปส่วนตัวก็คงไม่ต้องสนใจอะไรมาก แล้วใช้ฟอนต์ Roboto เนี่ยแหละ แต่ทว่าในโลกของการพัฒนาแอปนั้นบอกได้เลยว่า แค่เพียงฟอนต์เดียวก็อาจจะไม่เพียงพอเสมอไป

30 December 2018

[Android Code] เปลี่ยน Launch Screen ให้ดูดีกว่าที่เคยเป็นด้วยเทคนิคง่ายๆกันเถอะ



        หน้าแรกของแอปฯหรือที่เรียกกันว่า Launch Screen นั้น ก็เหมือน First Impression ของผู้ใช้ที่นักพัฒนาแอนดรอยด์ต้องใส่ใจ ซึ่งแต่ละแอปฯจะมีหน้าแรกแตกต่างกันออกไป บ้างก็จะเป็น Splash Screen ก่อน บ้างก็เปิดหน้า Sign In ขึ้นมาเลย

         ซึ่งบนแอนดรอยด์ก็มีเทคนิคเล็กๆน้อยๆที่ช่วยสร้าง Launch Screen ให้มี First Impression ที่ดีกว่าเดิมอยู่ด้วยนะ

20 November 2018

[Android Code] จัดการ Fragment Back​ Stack อย่างไรให้เหมาะสม


        เดี๋ยวนี้ Fragment ถือว่าเป็นเรื่องปกติที่นักพัฒนาแอนดรอยด์จะต้องเรียนรู้และใช้งานกัน เพราะว่า Activity เพียงอย่างเดียวไม่ได้ตอบโจทย์ความสามารถบางอย่างได้ ดังนั้น Fragment จึงถูกสร้างขึ้นมาเพื่อชดเชยความสามารถที่ขาดไปใน Activity นั่นเอง แต่ทว่า Fragment ก็มาพร้อมกับการทำงานที่ซับซ้อนมากขึ้นรวมไปถึง Back Stack ด้วยเช่นกัน

16 October 2018

[Android Code] Dagger 2 in Android [Part 4] - ทำ Dependency Injection ให้กับ Android Framework Component ต่างๆ



        หลังจากที่ได้อ่านบทความก่อนหน้านี้ไปแล้วก็จะสามารถทำ Dependency Injection ให้กับ Activity และ Fragment ด้วย Dagger 2 ได้แล้ว แต่ทว่า Component ของ Android Framework นั้นไม่ได้มีแค่ Activity และ Fragment เท่านั้น ดังนั้นในบทความนี้เจ้าของบล็อกจึงขอพูดถึง Component ตัวอื่นๆไว้ซักหน่อยดีกว่า