Android Code

ทำ Auto Initialize ให้กับ Library แบบเท่ๆกันเถอะ

แหม่ ไม่ได้เขียนบทความตั้งนาน วันนี้ก็เลยหยิบเทคนิคน่าสนใจที่เจ้าของบล็อกไปอ่านเจอในบทความของ Firebase ว่าด้วยวิธีแก้ปัญหา Library หรือ SDK ที่ต้องมานั่งเรียกคำสั่งเพื่อ Initialize กัน

ทำ Auto Initialize ให้กับ Library แบบเท่ๆกันเถอะ
Android Code

Firebase Crashlytics มาแล้ววววว ลาก่อน Firebase Crash Reporting

ในที่สุด Firebase ก็ได้ปล่อยบริการตัวใหม่ออกมาที่ชื่อว่า Firebase Crashlytics ให้ใช้งานแบบ Beta กันแล้ว และบังเอิญงานที่เจ้าของบล็อกทำอยู่ก็กำลังจะใส่ Crashlytics เข้าไปพอดี ก็เลยเลือกที่จะใส่ Firebase Crashlytics แทนเพื่อความยั่งยืนในอนาคต

Firebase Crashlytics มาแล้ววววว ลาก่อน Firebase Crash Reporting
Android Code

Service in Android — พื้นฐานของ Service

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

Service in Android — พื้นฐานของ Service
Android Code

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

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

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

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

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

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

มาทำ Loading ที่ดีต่อใจผู้ใช้ใน Android App กันเถอะ

ทุกวันนี้แอปฯที่เหล่า Android Dev เขียนกัน จะต้องมีการทำงานบางส่วนที่ใช้เวลานาน ซึ่งระหว่างที่รอการทำงานเหล่านั้นเสร็จ ก็ต้องแสดงอะไรบางอย่างบนหน้าจอเพื่อบอกให้ผู้ใช้รู้ว่า “กำลังโหลดอยู่นะ” หรือที่เรียกกันว่า Loading นั่นเอง

มาทำ Loading ที่ดีต่อใจผู้ใช้ใน Android App กันเถอะ
Android Code

รู้จักและเรียกใช้งาน Camera API v1 บนแอนดรอยด์แบบง่ายๆ [ตอนที่ 2]

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

รู้จักและเรียกใช้งาน Camera API v1 บนแอนดรอยด์แบบง่ายๆ [ตอนที่ 2]
Android Code

รู้จักและเรียกใช้งาน Camera API v1 บนแอนดรอยด์แบบง่ายๆ [ตอนที่ 1]

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

รู้จักและเรียกใช้งาน Camera API v1 บนแอนดรอยด์แบบง่ายๆ [ตอนที่ 1]
Android Code

ว่าด้วยเรื่อง MAC Address บนอุปกรณ์แอนดรอยด์

MAC Address เป็นตัวเลขเฉพาะที่จะถูกระบุอยู่บนอุปกรณ์ใดๆ ซึ่งบนแอนดรอยด์นั้นก็จะมีอุปกรณ์อยู่ 2 อย่างที่มี MAC Address กำกับอยู่ด้วย นั่นก็คือ WiFi และ Bluetooth ที่อยู่ภายในเครื่องนั่นเอง

ว่าด้วยเรื่อง MAC Address บนอุปกรณ์แอนดรอยด์
Android Code

มาสำรวจกันว่ามีคำสั่งสำคัญอะไรบ้างที่เปลี่ยนแปลงไปบน Android 8.0 Oreo

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

มาสำรวจกันว่ามีคำสั่งสำคัญอะไรบ้างที่เปลี่ยนแปลงไปบน Android 8.0 Oreo
Android Code

ดัก Screen Orientation Event ใน Activity อย่างไรให้ถูกต้อง

สำหรับแอนดรอยด์แล้ว การทำให้ Layout สามารถแสดงผลแยกกันระหว่างหน้าจอแนวตั้งกับแนวนอนนั้นไม่ใช่เรื่องอยากซักเท่าไร เพราะแอนดรอยด์ได้สร้างสิ่งที่เรียกว่า Configuration Qualifier เพื่อช่วยจัดการเรื่องนี้แล้ว แต่ถ้าอยากจะดัก Event เมื่อผู้ใช้มีการหมุนหน้าจออุปกรณ์แอนดรอยด์ล่ะ ต้องทำยังไง?

ดัก Screen Orientation Event ใน Activity อย่างไรให้ถูกต้อง
Android Code

ทำไมจึงไม่ควรเก็บข้อมูลทิ้งไว้ใน Singleton หรือ Static Variable

ถึงแม้ว่าจะเป็นหัวข้อที่นักพัฒนาหลายๆคนนั้นรู้จักกันดีอยู่แล้วว่า Model ต่างๆที่ใช้ภายในแอป ไม่ควรเก็บไว้ในรูปของ Static Instance หรือว่า Singleton แต่ทว่าก็อาจจะมีบางคนที่ไม่เข้าใจว่าทำไมถึงทำแบบนั้นไม่ได้ล่ะ? ดังนั้นมาดูกันว่าทำไมเราถึงไม่ควรทำเช่นนั้น

ทำไมจึงไม่ควรเก็บข้อมูลทิ้งไว้ใน Singleton หรือ Static Variable
Android Code

จัดการปัญหา WebView กับ SSL Certificate อย่างไรให้ถูกต้อง

ถึงแม้ว่าเจ้าของบล็อกจะไม่ค่อยชอบใช้ WebView ภายในแอปฯซักเท่าไร แต่ในบางครั้งก็เลี่ยงไม่ได้เพราะว่าฟีเจอร์บางตัวยังเป็นหน้าเว็ปอยู่ แต่มันดันเป็นหน้าเว็ป HTTPS ที่เจอปัญหา SSL Error นี่แหละ ดังนั้นต้องหาวิธีจัดการให้ถูกต้องแล้วล่ะ!!

จัดการปัญหา WebView กับ SSL Certificate อย่างไรให้ถูกต้อง
Android Code

ทำไม Android Dev ถึงควรใช้ Parcelable มากกว่า Serializable

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

ทำไม Android Dev ถึงควรใช้ Parcelable มากกว่า Serializable
Android Code

สวัสดี Custom View สุดที่รัก ตอนที่ 2

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

Android Code

สวัสดี Custom View สุดที่รัก ตอนที่ 1

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

Android Code

เมื่อเจ้าของบล็อกต้องทำ Recycler View กับเส้นประเจ้าปัญหา

บทความนี้ก็ขอแชร์ประสบการณ์จากการทำงานจริงๆซักหน่อย เพื่อเป็นไอเดียสำหรับผู้ที่หลงเข้ามาอ่าน ที่อาจจะได้เจอปัญหาคล้ายๆกัน

เมื่อเจ้าของบล็อกต้องทำ Recycler View กับเส้นประเจ้าปัญหา
Android Code

มารู้จักและควบคุม System UI ใน Android App กันเถอะ

ถ้าพูดถึงการทำให้แอปฯแสดงหน้าจอแบบ Fullscreen หรือ Immersive ก็คงจะร้องอ๋อกัน ซึ่งในบทความนี้ก็จะขอพูดถึงการควบคุมการทำงานของ System UI ภายในแอปฯกันครับ

มารู้จักและควบคุม System UI ใน Android App กันเถอะ