Android Dev Tips

วิธีแก้ปัญหา Unable to unzip และ Could not expand ZIP บน Android Studio

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

วิธีแก้ปัญหา Unable to unzip และ Could not expand ZIP บน Android Studio
Android Dev Tips

สรุปสาระสำคัญจากงาน Google I/O 2017 ที่นักพัฒนาแอนดรอยด์ไม่ควรพลาด

ในที่สุดงาน Google I/O 2017 ก็ได้เปิดตัวและจบงานไปได้ด้วยดีพร้อมกับเรื่องราวใหม่ๆ เทคโนโลยีใหม่ๆที่ผุดขึ้นมาในงานนี้อย่างมากมาย ถึงแม้ว่าในปีนี้ทาง Google จะโฟกัสไปในด้าน AI อย่างเห็นได้ชัด แต่ก็ต้องบอกเลยว่าฝั่งแอนดรอยด์ก็มีอะไรใหม่ๆเจ๋งๆเพิ่มเข้ามาเช่นกัน

สรุปสาระสำคัญจากงาน Google I/O 2017 ที่นักพัฒนาแอนดรอยด์ไม่ควรพลาด
Android Dev Tips

ว่าด้วยเรื่อง Issue ของ Activity Stack สุดแปลกที่ไม่เคยเจอมาก่อน

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

ว่าด้วยเรื่อง Issue ของ Activity Stack สุดแปลกที่ไม่เคยเจอมาก่อน
Android Dev Tips

รวม Session สำหรับสาย Android ที่น่าสนใจจากในงาน Google I/O 2017

รู้ตัวอีกทีก็วนกลับมาถึงช่วงเวลาของ Google I/O ของปีนี้ซะแล้ว ทั้งๆที่รู้สึกว่าปีที่แล้วก็เพิ่งจะผ่านพ้นไปได้ไม่นานนี้เอง ซึ่งในปีนี้ก็ดูเหมือนว่าจะมี Session สำหรับ Android Dev ที่น่าสนใจอยู่หลายๆ Session ดังนั้นก็เลยหยิบอันที่น่าสนใจเหล่านี้มาให้ดูกันครับ

รวม Session สำหรับสาย Android ที่น่าสนใจจากในงาน Google I/O 2017
Android Dev Tips

สิ่งที่ Android Dev ควรรู้ใน Samsung Galaxy ยุค 2017 (และหลังจากนี้)

Samsung นั้นเป็นหนึ่งในแบรนด์ใหญ่ที่เข้ามาคลุกวงในกับ Android มานานพอสมควรแล้ว ซึ่งในปี 2017 นี้ก็ได้เปิดตัว Samsung Galaxy S8/S8+ กับ Samsung DeX ไป และสิ่งที่เจ้าของบล็อกจะมาพูดถึงนั้นเป็นฝั่ง Developer ที่ควรรู้และปรับตัวให้ทันกับ Samsung ในปัจจุบันและวันข้างหน้าฮะ

สิ่งที่ Android Dev ควรรู้ใน Samsung Galaxy ยุค 2017 (และหลังจากนี้)
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 Dev Tips

เมื่อ Google Play บังคับให้นักพัฒนาต้องใส่ Privacy Policy เมื่อเข้าถึงความเป็นส่วนตัวของผู้ใช้

ช่วงนี้ผู้ที่หลงเข้ามาอ่านหลายๆคนที่อัปเดตแอปฯขึ้น Google Play Store ก็อาจจะสังเกตเห็นบางอย่างที่เปลี่ยนไปบนนั้น นั่นก็คือการที่ Google Play เริ่มบังคับให้นักพัฒนาใส่ Privacy Policy ให้กับแอปฯที่มีการเข้าถึงข้อมูลส่วนตัวของผู้ใช้

เมื่อ Google Play บังคับให้นักพัฒนาต้องใส่ Privacy Policy เมื่อเข้าถึงความเป็นส่วนตัวของผู้ใช้
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 Dev Tips

วิธีการสร้าง Keystore บน Android Studio

บทความนี้ก็จะเป็นวิธีการสร้าง Keystore ใน Android Studio เพื่อใช้ในการ Export โปรเจคแอนดรอยด์ของผู้ที่หลงเข้ามาอ่านให้กลายเป็นไฟล์ APK ซึ่งเป็นหนึ่งในขั้นตอนที่จะต้องทำ App Bundle หรือ APK เพื่ออัปโหลดขึ้น Google Play Store

วิธีการสร้าง Keystore บน Android Studio
Android Dev Tips

ประเด็นด้านความปลอดภัยกับ Recents Screen บนแอนดรอยด์

สำหรับแอปที่ต้องการความปลอดภัยสูง การแสดงภาพใน Recents Screen มีโอกาสเป็นช่องโหว่ได้ ถ้าภาพดังกล่าวมีการแสดงข้อมูลที่เป็นความลับของผู้ใช้

ประเด็นด้านความปลอดภัยกับ Recents Screen บนแอนดรอยด์
Android Code

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

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

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

เมื่อเจ้าของบล็อกต้องเจอปัญหา Dependency Conflict

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

เมื่อเจ้าของบล็อกต้องเจอปัญหา Dependency Conflict
Android Code

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

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

Android Code

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

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

Android Code

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

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

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

เลิกใช้ Left/Right และเปลี่ยนมาใช้ Start/End ใน UI Layout ได้แล้วนะ

การสร้าง UI Layout ของแอนดรอยด์จะขาด Margin, Padding หรือ Gravity ไปไม่ได้อย่างแน่นอน และนักพัฒนาก็จะคุ้นเคยกันดีกับการอ้างอิงตำแหน่งในรูปแบบของ Top, Bottom, Left และ Right แต่หารู้ไม่ว่าในปัจจุบันนี้แอนดรอยด์ได้เปลี่ยนมาใช้เป็น Top, Bottom, Start และ End แทนแล้วนะ

เลิกใช้ Left/Right และเปลี่ยนมาใช้ Start/End ใน UI Layout ได้แล้วนะ
Android Code

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

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

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

ว่าด้วยเรื่อง Recycler View กับการใช้งานจริงในแบบฉบับเจ้าของบล็อก ตอนที่ 4

เพราะ RecyclerView ไม่ได้มีไว้แสดงแค่ข้อมูลแบบง่ายๆเสมอไป บ่อยครั้งที่นักพัฒนาต้องแสดงข้อมูลในหลากหลายรูปแบบให้อยู่ใน RecyclerView ตัวเดียวเท่านั้น

ว่าด้วยเรื่อง Recycler View กับการใช้งานจริงในแบบฉบับเจ้าของบล็อก ตอนที่ 4