Android Dev Tips

เรื่องน่ารู้เกี่ยวกับ Virtualization บน Android

รู้หรือไม่ว่าบนแอนดรอยด์ก็มี Virtualization เหมือนกันนะ แต่มีจุดประสงค์ในการใช้งานที่ต่างจาก Desktop OS และบทความนี้ก็จะมาเล่าประเด็นนี้ให้ได้อ่านกัน

เรื่องน่ารู้เกี่ยวกับ Virtualization บน Android
Android Code

บันทึกภาพจาก UI ที่สร้างด้วย Jetpack Compose แบบไม่แสดงผลบนหน้าจอ (Headless UI Capture)

โดยปกติแล้วการบันทึก UI ที่สร้างด้วย Jetpack Compose ให้กลายเป็นข้อมูลภาพ จะต้องเป็น UI ที่แสดงผลอยู่บนหน้าจอเท่านั้น

บันทึกภาพจาก UI ที่สร้างด้วย Jetpack Compose แบบไม่แสดงผลบนหน้าจอ (Headless UI Capture)
Android Code

Web Messaging API: การสื่อสารผ่าน WebView ที่ดีกว่า JavaScript Interface และ Evaluate JavaScript

Web Messaging API เป็นวิธีที่ใช้ประโยชน์จากความสามารถของ Web Technology ที่มีอยู่แล้วเพื่อใช้ในการสื่อสารระหว่างโค้ด Java/Kotlin (Android) กับ JavaScript/TypeScript (Web) ผ่าน WebView

Web Messaging API: การสื่อสารผ่าน WebView ที่ดีกว่า JavaScript Interface และ Evaluate JavaScript
Android Dev Tips

สิ่งที่ควรรู้เกี่ยวกับการโอนแอปข้ามบัญชีใน Google Play

เจ้าของบล็อกมีเหตุจำเป็นต้องย้ายแอปทั้งหมดใน Google Play ไปอยู่ภายใต้บัญชีใหม่ จึงเก็บรายละเอียดบางส่วนมาเล่าให้ฟังเพื่อให้นักพัฒนาที่ต้องการโอนแอปข้ามบัญชีได้เตรียมตัวอย่างถูกต้องกัน

สิ่งที่ควรรู้เกี่ยวกับการโอนแอปข้ามบัญชีใน Google Play
Android Design

การสร้างเงาหรือ Shadow ใน Jetpack Compose

การสร้าง UI สำหรับแอปบนแอนดรอยด์มักจะเลี่ยงไม่ได้ที่ต้องสร้าง UI Component ที่มีเงา เพราะเป็นเทคนิคอย่างหนึ่งสำหรับการออกแบบ UI ให้น่าสนใจมากยิ่งขึ้น

การสร้างเงาหรือ Shadow ใน Jetpack Compose
Android Code

Live Notifications และ Now Bar ใน Samsung One UI 7 แบบฉบับนักพัฒนา

TL;DR - Samsung เปิดให้ใช้งานเฉพาะบางแอปเท่านั้น ดังนั้นเนื้อหาในบทความนี้จึงนำไปใช้งานจริงไม่ได้ เขียนขึ้นมาเพื่อสนองความต้องการของเจ้าของบล็อกเท่านั้น

Live Notifications และ Now Bar ใน Samsung One UI 7 แบบฉบับนักพัฒนา
Android Dev Tips

Android State Changes - Process Recreation

System-initiated Process Death หรือ Process Recreation เป็นการทำงานอย่างหนึ่งบนแอนดรอยด์ที่ส่งผลต่อแอปไม่ต่างจาก Configuration Changes และเกิดขึ้นได้บ่อยกว่า จึงทำให้นักพัฒนาแอปบนแอนดรอยด์ควรเข้าใจการทำงานที่ว่านี้เพื่อให้แอปสามารถทำงานได้ถูกต้องและไม่เกิดปัญหาขึ้นในภายหลัง

Android State Changes - Process Recreation
Android Dev Tips

Android State Changes - Introduction

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

Android State Changes - Introduction
Android Code

ทำไมใน Jetpack Compose ถึงไม่แนะนำให้ใช้ MutableState กับ Int, Float, Long, และ Double โดยตรง

ในการใช้งาน Jetpack Compose จะมีเรื่องของ State เข้ามาส่วนสำคัญในการทำงานเพื่อให้ Composable Function ทำงานหรือแสดงผลตาม State ที่ส่งเข้ามา จึงทำให้โค้ดบางส่วนของเรามีการใช้งาน MutableState หรือคำสั่งอย่าง mutableStateOf

ทำไมใน Jetpack Compose ถึงไม่แนะนำให้ใช้ MutableState กับ Int, Float, Long, และ Double โดยตรง
Android Dev Tips

ผู้ใช้ทั่วไปเค้าใช้ Developer Options ทำอะไรกันนะ?

ตัวอย่างความสามารถที่อยู่ใน Developer Options และมีโอกาสที่ผู้ใช้จะเปิดใช้งานด้วยเหตุผลบางอย่างแต่ไม่ส่งผลต่อความปลอดภัยสำหรับการใช้งานแอป

ผู้ใช้ทั่วไปเค้าใช้ Developer Options ทำอะไรกันนะ?
Android Dev Tips

อยากจะ Publish App ขึ้น F-Droid ต้องทำอะไรบ้าง

มีเหตุที่ต้องเอาแอปตัวหนึ่งขึ้น F-Droid เลยเขียนบทความนี้เพื่อเล่าสู่กันอ่าน เผื่อว่ามีนักพัฒนาคนไหนต้องการส่งแอปขึ้น F-Droid เหมือนกัน

อยากจะ Publish App ขึ้น F-Droid ต้องทำอะไรบ้าง
Android Dev Tips

สิ่งที่ควรรู้เกี่ยวกับการพัฒนาแอปสำหรับ Foldable Device

รายละเอียดต่าง ๆ ที่นักพัฒนาควรรู้เพื่อพัฒนาแอปให้รองรับการใช้งานบนอุปกรณ์แอนดรอยด์จำพวก Foldable Device ได้อย่างเหมาะสม

สิ่งที่ควรรู้เกี่ยวกับการพัฒนาแอปสำหรับ Foldable Device
Android Dev Tips

ว่าด้วยเรื่อง Application Flag ที่ชื่อว่า "Large Heap"

Large Heap เป็นหนึ่งใน Application Flag ที่นักพัฒนาสามารถเปิดใช้งานเพื่อให้ระบบแอนดรอยด์เตรียมพื้นที่ว่างใน Heap สำหรับแอปเราให้มากกว่าเดิมจะได้รองรับการทำงานที่ต้องใช้พื้นที่ใน Heap ที่เพิ่มมากขึ้น

ว่าด้วยเรื่อง Application Flag ที่ชื่อว่า "Large Heap"