08 January 2018

[Android Code] Service in Android - [ตอนที่ 3] เจาะลึกการเรียกใช้งาน Service และ Intent Service



        จากที่เคยอธิบายไปแล้วว่าการสร้าง Service ขึ้นมานั้นจะสามารถเลือกได้ว่าจะใช้เป็นคลาส Service หรือคลาส Intent Service ซึ่งมีรูปแบบการทำงานแตกต่างกัน อยู่ที่ว่าจะให้ทำอะไรก็เลือกใช้ให้เหมาะสม สำหรับบทความนี้ก็จะมาดูกันว่าเวลาต้องเขียนโค้ดจริงๆเนี่ยการสร้าง Service จากทั้ง 2 คลาสนี้มันต่างกันยังไงบ้าง

04 January 2018

[Android Code] Service in Android - [ตอนที่ 2] Lifecycle ของ Service



        จากบทความในตอนแรกที่ได้เกริ่นถึงเรื่องพื้นฐานของ Service ที่นักพัฒนาแอนดรอยด์จะต้องรู้กันไปแล้ว คราวนี้เจ้าของบล็อกจะมาพูดถึงเรื่องของ Lifecycle ของ Service กันต่อฮะ เพราะถือว่าเป็นอีกเรื่องหนึ่งที่จะพลาดไปไม่ได้ถ้าต้องการเรียกใช้งาน Service

02 January 2018

[Android Code] Service in Android - [ตอนที่ 1] พื้นฐานของ Service



        Service ถือว่าเป็นหนึ่งใน Component พื้นฐานของแอนดรอยด์ที่หลายๆงานนั้นจำเป็นต้องใช้ และเพื่อให้เรียกใช้งาน Service ได้อย่างถูกต้องและมีประสิทธิภาพ ผู้ที่หลงเข้ามาอ่านก็ต้องเข้าใจกันก่อนว่า Service บนแอนดรอยด์นั้นเป็นยังไง ทำงานยังไง และเรียกใช้งานแบบไหนได้บ้าง โดยบทความนี้จะมาพูดถึงเรื่องพื้นฐานๆของ Service กัน

31 December 2017

[Android Design] เมื่อขนาดหน้าจอของมือถือในยุคใหม่ ไม่ใช่ 16:9 อีกต่อไป



        ในทุกวันนี้ตลาดของมือถือแอนดรอยด์เริ่มมีการเปลี่ยนแปลงอยู่ตลอดเวลา ในยามที่ซักแบรนด์จะเปิดตัว Smartphone รุ่นใหม่ ก็มักจะมาพร้อมกับฟีเจอร์และสเปคที่มีการอัปเดตไปตามยุคสมัย แต่สิ่งหนึ่งที่น่าสนใจในช่วงนี้ก็คือเทรนด์ของสัดส่วนหน้าจอที่ไม่ใช่ 16:9 กันอีกต่อไป จนเจ้าของบล็อกรู้สึกอยากจะหยิบมาพูดถึงว่ามีอะไรที่นักพัฒนาจะต้องรู้บ้าง


29 December 2017

[Android Design] แบ่ง Layout ให้รองรับหน้าจอทุกขนาดด้วย Configuration Qualifier กันเถอะ



        เรื่อง Multiple Screen Support หรือการทำให้แอปฯรองรับกับหน้าจอทุกขนาดถือว่าเป็นหนึ่งในเรื่องพื้นฐานที่นักพัฒนาจะต้องทำให้ได้ เพราะมันคงจะดูตลกไม่น้อยถ้าต้องบอกกับผู้ใช้ว่าแอปฯของผู้ที่หลงเข้ามาอ่านรองรับกับหน้าจอบางขนาดเท่านั้น ดังนั้นบทความนี้เจ้าของบล็อกจึงขอแชร์หนึ่งในเทคนิคง่ายๆที่ทำให้แอปฯสามารถรองรับกับหน้าจอทุกขนาดด้วย Configuration Qualifier กัน

26 December 2017

[Android Code] ItemTouchHelper ใน Recycler View ที่จะช่วยให้การ Drag และ Swipe เป็นเรื่องที่โคตรง่าย



        ย้อนไปเมื่อหลายปีที่แล้ว ในตอนที่ List View กำลังเป็นที่นิยม ในตอนนั้นการจะทำ Swipe To Dismiss หรือ Drag & Drop ให้กับ List View จะต้องมานั่งเขียนโค้ดใส่ลงไปเอง ซึ่งโค้ดก็จะดูรกหน่อยๆ เพราะต้องมีการคำนวณนู่นนั่นนี่เต็มไปหมด

        จนมาถึงยุคของ Recycler View ที่ถูกออกแบบมาให้มีลักษณะยืดหยุ่นต่อการนำไปใช้งาน อยากจะให้ทำอะไรเพิ่มเติมก็จะมีคลาสที่คอยจัดการหน้าที่นั้นๆให้อยู่แล้ว ที่ต้องทำก็แค่เรียกใช้งานให้ถูกต้อง ซึ่งการทำ Swipe To Dismiss หรือ Drag & Drop บน Recycler View นั้นจะเป็นเรื่องที่ง่ายดายโคตรๆ ด้วยคลาสที่มีชื่อว่า ItemTouchHelper ที่ผู้ที่หลงเข้ามาอ่านหลายๆคนอาจจะไม่เคยได้ยินมาก่อน

07 December 2017

[Android Dev Tips] สรุปเนื้อหาสำคัญจากงาน Android Flash Talk ณ เชียงใหม่



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

12 November 2017

[Android Code] ว่าด้วยเรื่อง @SerializedName ใน Gson และ ProGuard



        ถ้านึกจะเขียนแอปฯที่เอาไว้เรียกข้อมูลจาก Web Service ก็คงไม่พ้น Retrofit ยอดนิยมที่คอมโบคู่กับ Gson เพื่อแปลงข้อมูลจาก JSON ให้กลายเป็น Object (Model Class)  และในบทความนี้ก็จะมาพูดถึง @SerializedName ของ Gson เมื่อต้องใช้ ProGuard กันครับ

01 November 2017

[Android Code] ภาษา Kotlin กับการทำ Parcelable ในแอนดรอยด์



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

27 October 2017

[Android Dev Tips] มาลองทำ Plugin เพื่อใช้งานบน Android Studio กันดีกว่า [ตอนที่ 1 - เริ่มต้น]



        เรื่องมันมีอยู่ว่าอยากจะทำ Plugin ตัวหนึ่งให้ทุกคนในทีมใช้ทำงานเพื่อจะได้สะดวกมากขึ้น ก็เลยนั่งหมกหมุ่นกับเรื่องนี้อยู่สองวันเต็มๆเพื่อดูว่าการทำ Plugin ใน Android Studio เนี่ยมันต้องทำยังไงบ้าง

25 October 2017

[Android Code] ทำ Phone Number Verification ด้วย Auth API ของ Google Play Services



        เรื่องมีอยู่ว่าเจ้าของบล็อกได้ไปเจอบทความของ Google Play Services ตัวหนึ่งที่เกี่ยวกับการทำ Authentication ด้วยเบอร์มือถือที่ต้องยืนยันด้วย OTP ซึ่งใน Google Play Services ได้มี API ที่ช่วยจัดการในเรื่องนี้ให้ง่ายขึ้นด้วยนะ (เพิ่งจะรู้เหมือนกัน)

17 October 2017

[Android Code] จะทำยังไงให้ App รู้ได้ว่าผู้ใช้กด Screenshot ระหว่างเปิด App กันอยู่นะ?



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

12 October 2017

[Android Dev Tips] เรียกใช้งาน Dependency ผ่าน Git แบบง่ายๆด้วย JitPack



        Android Developer หลายๆคนก็คงเคยผ่านตากับคำว่า JitPack กันมาบ้าง เพราะว่าเคยเรียกใช้ Library บางตัวที่ต้องกำหนด Repository URL ของ JitPack เพิ่มเข้าไปในไฟล์ build.gradle ซึ่งเจ้าของบล็อกได้ลองนั่งดูเล่นๆว่าเจ้า JitPack เนี่ยมันคืออะไรกันนะ? แล้วก็พบว่า "เฮ้ย ใช้มาตั้งนาน เพิ่งจะเข้าใจว่ามันคืออะไร"

17 September 2017

[Android Dev Tips] ยุคนี้ทั้งที เปลี่ยน findViewById เป็นแบบใหม่กันเถอะ



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

11 September 2017

[Android Code] เล่าสู่กันฟังกับ Architecture Components จากงาน GDD Europe 2017


        ไม่กี่วันที่ผ่านมาเจ้าของบล็อกได้มีโอกาสไปงาน Google Developer Days Europe 2017 ที่ภายในงานได้มี Session เกี่ยวกับ Architecture Components ที่มีเนื้อหาน่าสนใจอยู่ไม่น้อย จึงหยิบมาเขียนเป็นบทความเพื่อเล่าสู่กันฟังครับ



เหล่าพันธมิตรแอนดรอยด์

Devahoy Layer Net NuuNeoI The Cheese Factory Somkiat CC Mart Routine Artit-K Arnondora Kamonway Try to be android developer Oatrice Benz Nest Studios Kotchaphan@Medium Jirawatee@Medium Travispea@Medium