03 February 2013

สารบัญบทความแอนดรอยด์

Updated on



อัพเดทล่าสุด 7 เมษายน 2563

Android Code

CameraX ตอนที่ 2 - ใช้งาน CameraX แบบง่ายๆด้วย CameraView
CameraX ตอนที่ 1 - รู้จัก CameraX กันแล้วหรือยัง?
Notification in Android ตอนที่ 8 - อัปเดตข้อมูลให้กับ Notification
Notification in Android ตอนที่ 7 - การแจ้งเตือนแบบ Heads-up notification
Notification in Android ตอนที่ 6 - กำหนด Notification Style ในรูปแบบต่างๆ
Notification in Android ตอนที่ 5 - Notification Channel
Notification in Android ตอนที่ 4 - Notification Action
Notification in Android ตอนที่ 3 - ทำให้ Notification สมบูรณ์ยิ่งขึ้น
Notification in Android ตอนที่ 2 - คำสั่งพื้นฐานของ Notification
Notification in Android ตอนที่ 1 - เรื่องพื้นฐานของ Notification ที่ควรรู้
อยากจะเปิดหน้าแชทใน Facebook Messenger ผ่านแอปต้องทำยังไง?
รู้จักกับคำสั่งสำหรับ Security ที่อยู่ใน AndroidX
View Binding บนแอนดรอยด์ทำแบบไหนได้บ้างนะ?
สร้าง Repository ใน MVVM บนแอนดรอยด์ให้เขียนเทสได้ง่ายกันเถอะ
รู้จักกับ ViewPager2 ที่จะมาแทน ViewPager แบบเดิมๆ
จะใช้ ViewModel หรือ AndroidViewModel ดี?
มาเปลี่ยน Dependency Injection ให้เป็นเรื่องง่ายด้วย Koin กันดูมั้ย?
เปลี่ยน Launch Screen ให้ดูดีกว่าที่เคยเป็นด้วยเทคนิคง่ายๆกันเถอะ
จัดการ Fragment Back​ Stack อย่างไรให้เหมาะสม
Dagger 2 in Android [Part 4] - ทำ Dependency Injection ให้กับ Android Framework Component ต่างๆ
Dagger 2 in Android [Part 3] - ทำ Dependency Injection ให้กับ Activity และ Fragment
ส่งข้อมูลระหว่าง Activity/Fragment แบบหล่อๆด้วย LiveData และ ViewModel ของ Android Architecture Components
เมื่อทำ Google Maps แล้วอยากจะเช็คว่าพิกัดนั้นๆอยู่ในพื้นที่ที่กำหนดไว้หรือป่าว?
Dagger 2 in Android [Part 2] - มาเตรียมโปรเจคสำหรับ Dagger กัน
Dagger 2 in Android [Part 1] - Dependency Injection แบบหล่อๆด้วย Dagger 2
เตรียมตัวให้พร้อมกับ Display Cutout บน Android P
หมดปัญหาวุ่นวายกับ Background Task ด้วย WorkManager
มาทำชีวิตให้ง่ายขึ้น เขียนโค้ดให้ดีขึ้นด้วย Android Support Annotation กันเถอะ
แอบส่อง ImageDecoder ใน Android P ที่จะมาแทนที่ BitmapFactory
สร้าง RecyclerView แบบสบายๆด้วย ListAdapter จาก Support library
Service in Android - [ตอนที่ 6] JobIntentService จาก Support Library เพื่อใช้แทน IntentService
Service in Android - [ตอนที่ 5] มาสร้าง Bound Service กันเถอะ
Service in Android - [ตอนที่ 4] มาสร้าง Foreground Service กันเถอะ
ทำ Auto Initialize ให้กับ Library แบบเท่ๆกันเถอะ
รู้จักกับ google-services.json เมื่อต้องใช้งาน Google API และ Firebase
Firebase Crashlytics มาแล้ววววว ลาก่อน Firebase Crash Reporting
Service in Android - [ตอนที่ 3] เจาะลึกการเรียกใช้งาน Service และ Intent Service
Service in Android - [ตอนที่ 2] Lifecycle ของ Service
Service in Android - [ตอนที่ 1] พื้นฐานของ Service
ItemTouchHelper ใน Recycler View ที่จะช่วยให้การ Drag และ Swipe เป็นเรื่องที่โคตรง่าย
ว่าด้วยเรื่อง @SerializedName ใน Gson และ ProGuard
ภาษา Kotlin กับการทำ Parcelable ในแอนดรอยด์
ทำ Phone Number Verification ด้วย Auth API ของ Google Play Services
จะทำยังไงให้ App รู้ได้ว่าผู้ใช้กด Screenshot ระหว่างเปิด App กันอยู่นะ?
มาทำ Loading ที่ดีต่อใจผู้ใช้ใน Android App กันเถอะ
รู้จักและเรียกใช้งาน Camera API v1 บนแอนดรอยด์แบบง่ายๆ [ตอนที่ 1]
รู้จักและเรียกใช้งาน Camera API v1 บนแอนดรอยด์แบบง่ายๆ [ตอนที่ 2]
ว่าด้วยเรื่อง MAC Address บนอุปกรณ์แอนดรอยด์
มาเรียกใช้งาน Dialog บนแอนดรอยด์ให้ถูกต้องกันเถอะ
Let's Fragment - ว่าด้วยเรื่องการสร้าง Fragment จาก Constructor ที่ถูกต้อง
มาสำรวจกันว่ามีคำสั่งสำคัญอะไรบ้างที่เปลี่ยนแปลงไปบน Android O
ลองเล่น Notification Channels ของเล่นใหม่จาก Android O
ลองเล่น Font Resource ของเล่นใหม่จาก Android O
ดัก Screen Orientation Event ใน Activity อย่างไรให้ถูกต้อง
เก็บตกโค้ดแอนดรอยด์จาก Snippet ที่ใช้ใน Code Battle@Firebase Dev Day [ตอนที่ 1]
ทำไมจึงไม่ควรเก็บข้อมูลทิ้งไว้ใน Singleton หรือ Static Variable
จัดการปัญหา WebView กับ SSL Certificate อย่างไรให้ถูกต้อง
Intent และ Pending Intent - ส่งใจ ไปหาเธอ
เรื่อง Security กับ Recent App ที่นักพัฒนาควรรู้
ทำไม Android Dev ถึงควรใช้ Parcelable มากกว่า Serializable
แก้ปัญหา Boilerplate น่าเบื่อๆของ Shared Preferences ด้วย Shade
สวัสดี Custom View สุดที่รัก ตอนที่ 2
สวัสดี Custom View สุดที่รัก ตอนที่ 1
เมื่อเจ้าของบล็อกต้องทำ Recycler View กับเส้นประเจ้าปัญหา
มารู้จักและควบคุม System UI ใน Android App กันเถอะ
รู้จักกับ SnapHelper ของเล่นใหม่ที่เพิ่มเข้ามาใน Recycler View
ว่าด้วยเรื่อง Recycler View กับการใช้งานจริงในแบบฉบับเจ้าของบล็อก ตอนที่ 4
การเปิด Page หรือ Official Account บน Social ต่างๆผ่าน Android App
ว่าด้วยเรื่อง Recycler View กับการใช้งานจริงในแบบฉบับเจ้าของบล็อก ตอนที่ 3
ว่าด้วยเรื่อง Recycler View กับการใช้งานจริงในแบบฉบับเจ้าของบล็อก ตอนที่ 2
ว่าด้วยเรื่อง Recycler View กับการใช้งานจริงในแบบฉบับเจ้าของบล็อก ตอนที่ 1
วันนี้แอปของคุณรองรับ Multi Window ของ Samsung แล้วหรือยัง?
Style and Theme - เพราะชีวิตต้องมีสไตล์
ลองเล่น Quick Settings Tile API ของเล่นใหม่ใน Android 7.0 Nougat
มารู้จักกับ RxJava และ RxAndroid กันเถอะ [ตอนที่ 4]
มารู้จักกับ RxJava และ RxAndroid กันเถอะ [ตอนที่ 3]
มารู้จักกับ RxJava และ RxAndroid กันเถอะ [ตอนที่ 2]
มารู้จักกับ RxJava และ RxAndroid กันเถอะ [ตอนที่ 1]
รู้กันหรือเปล่าว่าแอนดรอยด์มีสิ่งที่เรียกว่า Device Administrator อยู่นะ
สรุปเนื้อหาและสิ่งที่ไม่ได้พูดใน Firebase Android Codelabs จากงาน I/O Extended Bangkok [ตอนที่ 2]
สรุปเนื้อหาและสิ่งที่ไม่ได้พูดใน Firebase Android Codelabs จากงาน I/O Extended Bangkok [ตอนที่ 1]
รู้จัก Multi Window บน Android 7.0 Nougat และวิธีการรับมือ
ทำไม Android Developer ควรรู้และเข้าใจใน Activity Life Cycle
ยินดีต้อนรับเข้าสู่โลกของ Vector ด้วย Vector Drawable
มาทำความรู้จักและลองใช้งาน Google Cloud Messaging กันเถอะ
DEX with Over 65K Methods problem and how to use MultiDex on Android
ทดลองเล่น Cloud Vision API บนแอนดรอยด์
DEX with Over 65K Methods และการทำ MultiDex ที่นักพัฒนาแอนดรอยด์ควรรู้จักไว้
เมื่อเจ้าของบล็อกได้รู้จักกับ AOP และได้ลองใช้ AspectJ
Configuration Changes อีกหนึ่งอย่างที่นักพัฒนาแอนดรอยด์ควรรู้จัก
มามะ มาลองเขียน iOS App บน Android Studio กันเถอะ!!
ลองพัฒนา Android Application แบบ MVP กันดูมั้ย? ตอนที่ 1
Using Google Direction API on Google Maps in Android with Google Direction Library
Google Direction Library - ใช้งาน Google Direction API บน Google Maps แบบง่ายๆ
มารู้จักกับ Layout Manager ใน Recycler View กันเถอะ!
Save/Restore กับ Instance State ใน Fragment ควรทำอย่างไรกันนะ?
มา Save/Restore กับ Instance State บน Activity ให้ถูกต้องกันเถอะ
ลองเขียน Instrumentation Test บน Android Studio
Chrome Custom Tabs ของเล่นใหม่สำหรับ In-app Browser
Let's Fragment - วิธีการรับส่งข้อมูลของ Fragment
AppCompatDelegate สำหรับการทำ Activity ใดๆให้รองรับ AppCompat
File Observer สำหรับตรวจเช็คการเปลี่ยนแปลงของไฟล์
ทำ Location Provider แบบเหนือชั้นด้วย Smart Location Library
Localization Activity - Best way to support several language
Localization Activity - Library สำหรับแอปพลิเคชันหลายภาษา
มาใช้ Google Location Services API กันเถอะ
วิธีการทำให้ TextView สามารถกดเลือกที่ข้อความบางส่วนได้
วิธีการเรียกใช้งาน Resource โดยกำหนดชื่อไฟล์จาก String
รู้จักกับ Snackbar ของเล่นตัวใหม่จาก Material Design
Google Maps Android API v2 - การใช้งานบน Android Studio เบื้องต้น
ลองทำ Unit Test บน Android Studio กันเถอะ
รู้จักกับ Palette API ลูกเล่นใหม่เพื่อเพิ่มสีสันให้กับแอปของคุณ
รู้จักการใช้งาน Deep Link (URL Scheme) กับ Android Application
ลองหัดสร้าง Class และ Listener กันเถอะ - ตอนที่ 3
ลองหัดสร้าง Class และ Listener กันเถอะ - ตอนที่ 2
ลองหัดสร้าง Class และ Listener กันเถอะ - ตอนที่ 1
Round Corner Progress Bar สำหรับคนบ้าขอบมน
Let's Fragment - ใส่ Indicator ให้กับ View Pager [ภาคสอง]
Let's Fragment - ใส่ Indicator ให้กับ View Pager [ภาคแรก]
Let's Fragment - เพิ่มลูกเล่นให้กับ View Pager ด้วย Page Transformer
Let's Fragment - มาทำ View Pager กันเถิดพี่น้อง~ [ตอนที่ 2]
Let's Fragment - มาทำ View Pager กันเถิดพี่น้อง~ [ตอนที่ 1]
Let's Fragment - Lifecycle ของ Fragment
Let's Fragment - รู้จักกับ FragmentTransaction สำหรับการแสดง Fragment [ตอนที่ 2]
Let's Fragment - รู้จักกับ FragmentTransaction สำหรับการแสดง Fragment [ตอนที่ 1]
Let's Fragment - เริ่มต้นง่ายๆกับ Fragment แบบพื้นฐาน
Fragment Principle - มารู้จักกับ Fragment กันเถอะ~
แนะนำให้รู้จักกับ API ของ Google Play Services
เก็บค่าตัวแปรให้ถาวรแบบง่ายๆได้ด้วย Shared Preferences
การใช้งาน Simple TCP Library แบบ Simple TCP
Simple TCP Library - ลากันที TCP ที่ยุ่งยาก
การเซฟภาพหน้าจอแบบมี Dialog แสดงอยู่ด้วย
ทำไมภาพถึงไม่ยอมแสดงใน Gallery
มาซ่อนแถบเมนูแบบอัตโนมัติเหมือน Facebook และ Google+ กันเถอะ
มาทำความรู้จักกับ Object Animator กันดีกว่า~!
OnClick OnLongClick และ OnTouch สัมพันธ์กันอย่างไร?
ใส่รหัสลับสำหรับเปิดแอปพลิเคชันด้วย Secret Code
ทำไมต้อง findViewById ? คิดเล่นๆ แต่ได้อะไรมากกว่าที่คิด !
มาลองเล่นกับ Assist บนแอนดรอยด์กันบ้าง
BluetoothSPP - การใช้งาน Listener
BluetoothSPP - การสร้างหน้าเลือกอุปกรณ์สำหรับเชื่อมต่อผ่าน Bluetooth
BluetoothSPP - การใช้งานการเชื่อมต่ออัตโนมัติ
BluetoothSPP - เปลี่ยนเรื่องบลูทูธให้เป็นเรื่องง่ายด้วย BluetoothSPP Library
BluetoothSPP - การเชื่อมต่ออุปกรณ์ผ่านบลูทูธแบบง่ายๆด้วย BluetoothSPP
ว่าด้วยเรื่อง Interpolator ใน Animation
ยืนยันการออกจากแอปพลิเคชัน เมื่อกดปุ่ม Back
วิธีดึงภาพ Thumbnail จากไฟล์วีดีโอที่อยู่ใน External Storage
วิธีดึงภาพ Thumbnail จากไฟล์วีดีโอที่อยู่ใน Raw Resource
จัดการกับเรื่องการหมุนหน้าจอด้วย Orientation Manager
ภาพ Vector ขยายยังไงภาพก็ไม่แตกกกกกก
มาทำให้แอปพลิเคชันรองรับหลายภาษากันเถอะ
เกร็ดความรู้กับการจัดการกับไฟล์เสียงในโปรเจค
การส่งข้อความผ่าน SMS แบบง่ายๆ
การสร้าง Activity ใหม่และการข้ามไปมาระหว่าง Activity [แบบละเอียดสำหรับมือใหม่]
การเก็บค่าไว้ใน Value Resource
ลองทำ D-Pad Controller ใช้ในแอป
วิธีตรวจสอบด้วยโค๊ดว่าเครื่องเป็น Smartphone หรือ Tablet
สร้าง Timer สำหรับนับเวลาถอยหลังด้วยคลาส CountDownTimer
เปลี่ยนเสียงพูดให้กลายเป็นข้อความด้วย Voice Recognition
การทำ Text To Speech เพื่ออ่านข้อความที่ต้องการ
Google Maps Android API v2 - การแสดงตำแหน่งปัจจุบันบน Google Maps
แปลง String ให้เป็น Unicode
การแสดงภาพ GIF Animation บนแอนดรอยด์
ตัวอย่างการจัดการข้อมูลในฐานข้อมูลเบื้องต้น [ดู เพิ่ม แก้ไข ลบ]
การเพิ่มเสียงประกอบลงใน Application [BGM & Effect]
Screen Capture หรือ Capture ภาพบน Layout ผ่านโค้ด
วิธีการทำ Splash Screen ที่ถูกต้อง (แต่ไม่ใช่ที่สุด)
แสดงภาพแผนที่ Google Maps ในแอปด้วย Google Static Map
ว่าด้วยเรื่อง Context
การรับข้อมูล Intent จากแอปฯอื่นแล้วส่งข้อมูลกลับไป
การรับข้อมูล Intent จากแอปอื่นๆ
การอ่าน QR Code และ Barcode ด้วย Intent
การใช้งานกล้องเพื่อบันทึกวีดีโอแบบง่ายๆด้วย Intent
การใช้งานกล้องเพื่อถ่ายภาพแบบง่ายๆด้วย Intent
การเลือกไฟล์ภาพจาก Gallery ด้วย Intent
การใช้ Intent สำหรับแชร์ไฟล์ให้แอปอื่นๆ
การใช้ Intent เพื่อเปิดไฟล์ด้วยแอปอื่นๆ
การใช้ Intent เพื่อเปิดแผนที่ด้วยแอปอื่นๆ
การใช้ Intent เพื่อเปิด URL ด้วยแอปอื่นๆ
การใช้ Intent สำหรับแชร์ข้อความสำหรับ Email
การเรียกเปิดแอพฯอื่นๆ ด้วย Intent
การใช้ Intent สำหรับแชร์ข้อความ String ให้แอปอื่น
Sensor API in Android - การใช้งาน Humidity Sensor
Sensor API in Android - การใช้งาน Light Sensor
Sensor API in Android - การใช้งาน Proximity Sensor
Sensor API in Android - การใช้งาน Gyroscope
Sensor API in Android - การใช้งาน Accelerometer
การส่งข้อมูลระหว่าง Activity ผ่าน Intent
SQLite in Android - การใช้ Cursor กับฐานข้อมูล SQLite
SQLite in Android - การ Query ในฐานข้อมูล SQLite
SQLite in Android - ฐานข้อมูล SQLite ถ้าเข้าใจก็ไม่ใช่เรื่องยาก
Google Maps Android API v2 - การวาด Polyline และ Polygon ลงบน Google Maps
Google Maps Android API v2 - การใช้ Listener กับ Camera ใน Google Maps
Google Maps Android API v2 - การควบคุมมุมกล้องและการกำหนดค่าสำหรับแผนที่ใน Google Maps
Google Maps Android API v2 - การใช้ Listener กับ Marker ใน Google Maps
Google Maps Android API v2 - เปลี่ยนภาพ Marker ใน Google Maps
Google Maps Android API v2 - การสร้าง Marker ลงบน Google Maps
Google Maps Android API v2 - การเลื่อนไปยังตำแหน่งที่ต้องการบน Google Maps
Google Maps Android API v2 - การกำหนดรูปแบบพื้นผิวของ Google Maps
สร้างฐานข้อมูล SQLite อย่างไรให้ไว?
ลองสร้าง JoyStick Controller ไว้ใช้ในแอป
การนำเข้าข้อมูลจาก .csv ลงในฐานข้อมูล
การสร้าง Custom Dialog

Android Design

รับมือกับปัญหาชวนปวดหัวกับขนาดของตัวอักษรเมื่อต้องเจอกับฟอนต์ที่หลากหลาย
เมื่อขนาดหน้าจอของมือถือในยุคใหม่ ไม่ใช่ 16:9 อีกต่อไป
แบ่ง Layout ให้รองรับหน้าจอทุกขนาดด้วย Configuration Qualifier กันเถอะ
เลิกใช้ Left/Right และเปลี่ยนมาใช้ Start/End ใน Layout ของแอนดรอยด์แทนได้แล้วนะ
ทำ Password Visibility Toggle แบบง่ายๆได้ด้วย Material Design Support Library
จัดการภาพที่ใช้ใน Android Application อย่างไรให้ถูกต้อง
Constrain Layout ของเล่นใหม่ที่จะมาเปลี่ยนโลกของ Android Layout
มารู้จักกับ Prototyping Tools สำหรับงาน Mobile Application กันเถอะ
สิ่งที่ควรจะรู้เมื่อต้องตะลุยไปกับงานแอนดรอยด์ที่เกี่ยวกับ Font สุดหรรษา
เพราะดีไซน์บางอย่างนั้นไม่ได้เหมาะกับบนมือถือเสมอไป
ทำไมแอนดรอยด์ต้องใช้หน่วย DP?
แก้ปัญหาภาพพื้นหลังบิดเบี้ยวได้ง่ายๆด้วย Relative Layout
Device Definitions Add-on for Layout Preview on Graphical Layout
เฉลยโจทย์ Multiple Screen Support ในงาน Android Workshop [ข้อที่ 2]
Device Definitions Add-on สำหรับ Layout Preview ใน Graphical Layout
เฉลยโจทย์ Multiple Screen Support ในงาน Android Workshop [ข้อที่ 1]
วิธีการออกแบบไอคอนสำหรับแอปพลิเคชันแอนดรอยด์
การใช้งาน Nine Patch ในแอปพลิเคชันแอนดรอยด์
Padding และ Margin สำคัญและต่างกันอย่างไร?
เคล็ดไม่ลับกับภาพ Drawable Resource สำหรับรองรับหน้าจอหลายขนาด
ภาพ Vector ขยายยังไงภาพก็ไม่แตกกกกกก
เปลี่ยนภาพ Toggle Button ตามต้องการด้วย Drawable Selector
เปลี่ยนภาพ Button ได้ดั่งใจด้วย Drawable Selector
สร้างภาพง่ายๆจาก XML ด้วย Shape Drawable
แท้จริงแล้วหน่วย dp คืออะไร?
ว่าด้วยเรื่อง Size และ Density ของหน้าจอ
Layout Weight ใช้อย่างไร ใช้ให้เป็น
การกำหนดขนาดใน Properties
Supporting Multiple Screens - การรองรับหน้าจอที่หลากหลาย
Android Compatibility - ความเข้ากันได้ในแอนดรอยด์
ว่ากันด้วยเรื่อง Nine Patch บนแอนดรอยด์

Android Dev Tips

สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 10 (API 29)
สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 9.0 Pie (API 28)
สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 8.1 Oreo (API 27)
สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 8.0 Oreo (API 26)
สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 7.1 Nougat (API 25)
สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 7.0 Nougat (API 24)
สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 6.0 Marshmallow (API 23)
สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 5.1 Lollipop (API 22)
สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 5.0 Lollipop (API 21)
สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 4.4 KitKat (API 19)
มากำหนด Authority ของ Content Provider ให้เหมาะสมกับแอปของคุณกันเถอะ
สรุปเนื้อหา Modernize the Development of LINE Messenger for Android จากงาน LINE Developer Day 2019
วันนี้คุณย้ายจาก Support Library ไปเป็น AndroidX แล้วหรือยัง?
เปิดโปรเจค Android Studio ผ่าน Command Line บน Mac OS และ Linux
รู้จักกับ Biometric Authentication บนแอนดรอยด์
บทย่อของการเปลี่ยนแปลงใน Android แต่ละเวอร์ชัน [Feature & API]
เดี๋ยวนี้ Google Play Console เค้ามี Internal Test ให้แล้วนะ
Jetifier เบื้องหลังการทำงานของ Android Gradle Plugin สุดเทพสำหรับ AndroidX
ลองตรวจสุขภาพโค้ดด้วย Inspect Code ใน Android Studio กันดูมั้ย?
ปัญหา Translucent Window บน Android 8.0 Oreo ที่นักพัฒนาไม่ควรมองข้าม
สรุปเนื้อหาสำคัญจากงาน Android Flash Talk ณ เชียงใหม่
มาลองทำ Plugin เพื่อใช้งานบน Android Studio กันดีกว่า [ตอนที่ 1 - เริ่มต้น]
เรียกใช้งาน Dependency ผ่าน Git แบบง่ายๆด้วย JitPack
ยุคนี้ทั้งที เปลี่ยน findViewById เป็นแบบใหม่กันเถอะ
เล่าสู่กันฟังกับ Architecture Components จากงาน GDD Europe 2017
เขียนโปรแกรมให้เป็น คิดกันอย่างไร? แก้ปัญหากันอย่างไร? [ตอนที่ 4]
Supporting Samsung Devices in 2017 is easier than ever for Android 7.0
วิธีแก้ปัญหา Unable to unzip และ Could not expand ZIP บน Android Studio
สรุปสาระสำคัญจากงาน Google I/O 2017 ที่นักพัฒนาแอนดรอยด์ไม่ควรพลาด
ว่าด้วยเรื่อง Issue ของ Activity Stack สุดแปลกที่ไม่เคยเจอมาก่อน
รวม Session สำหรับสาย Android ที่น่าสนใจจากในงาน Google I/O 2017
สิ่งที่ Android Dev ควรรู้ใน Samsung Galaxy ยุค 2017 (และหลังจากนี้)
เมื่อ Google Play บังคับให้นักพัฒนาต้องใส่ Privacy Policy เมื่อเข้าถึงความเป็นส่วนตัวของผู้ใช้
วิธีการสร้าง Keystore บน Android Studio
มาลอง Android Things ด้วยบอร์ด NXP Pico i.MX6UL กัน!! [ติดตั้งใช้งาน]
เมื่อเจ้าของบล็อกต้องเจอปัญหา Dependency Conflict
วิธีการเปิด Freeform Mode บน Android 7.0 Nougat ขึ้นไป
เรื่องเล่าจาก Instant Run สุดเทพบน Android Studio
การเข้าใช้งาน GitHub แบบมี Two-Factor Authentication บน Android Studio
เตรียมตัวกันให้พร้อมกับ Android Studio 2.2!!
ปฏิบัติการณ์ทำ Mockup แบบฉบับเร่งด่วนโคตรๆแต่ไม่ธรรมดาด้วยเวลาแค่ 2 วัน
เหล่า Android Dev ทั้งหลายลองมาทำความรู้จักกับ Android TV กันเถอะ~
การ Filter แอพบน Google Play Store - ทำไมบางเครื่องถึงลงแอพบางตัวไม่ได้นะ?
มาเพิ่ม Developer Page ใน Google Play กัน
Rename Package Name ใน Android Studio ให้อยู่รอดปลอดภัย?
วิธีใช้งาน AAR Library ในโปรเจคแอนดรอยด์ของคุณ
Unit Test กับ Instrumentation Test บน Android Studio ต่างกันอย่างไร
โค๊ดที่มีเส้นขีดกลาง เค้าเรียกว่า Deprecated Code
ลองใช้ Mirror Plugin สุดเจ๋งสำหรับ Realtime Layout Preview บน Android Studio
Logcat พื้นฐานสำคัญที่ Android Developer ต้องรู้จัก
Android File Grouping - Plugin ของดีชาว Android Studio
17 พื้นฐานที่ควรรู้สำหรับสายงาน Android Developer
How to take a screenshot on Sony Android TV
การ Capture Screen บน Sony Android TV
10 ข้อที่ควรทำและ 10 ข้อที่ไม่ควรทำบน Google Play Store
ทำไมต้องกำหนดเลขเวอร์ชันของ Dependencies ใน Android Studio
วิธีตรวจสอบเวอร์ชันล่าสุดของ Dependencies ที่ใช้งานอยู่
การตั้งค่า Environment Variable สำหรับ Android SDK บน Windows
การตั้งค่า Environment Variable สำหรับ Android SDK บน Mac OS
Project Structure บน Android Studio
20 ข้อดีที่ทำให้ Android Studio เป็น IDE ที่น่าใช้กว่า Eclipse ADT
วิธีการดึงไฟล์ฐานข้อมูลจากเครื่องจริง
ทำไมถึงยังไม่ลองไปใช้ Android Studio กันดูซักทีล่ะ?
การกำหนด Content Rating สำหรับแอพที่อยู่บน Google Play
ไฟล์ AAR คืออะไร และแตกต่างอย่างไรกับ JAR
มีอะไรบ้างใน Android 5.1 Lollipop MR1 [แบบฉบับนักพัฒนา]
Android Drawable Importer - Plugin แนะนำสำหรับ Android Studio
ขั้นตอนการติดตั้ง Plugin ให้กับ Android Studio
รู้จักการใช้งาน Android Studio แบบพื้นฐาน - ตอนที่ 2
รู้จักการใช้งาน Android Studio แบบพื้นฐาน - ตอนที่ 1
เบื่อ Case Sensitive เวลาเรียก Code Completion บน Android Studio กันหรือป่าว
การใช้งาน Android Virtual Device บน Android Studio
วิธีแก้ปัญหาเกี่ยวกับ HAXM เมื่อเปิด Emulator AVD
เปลี่ยนไอคอนแอพฯแบบง่ายๆบน Android Studio
การ Export ไฟล์ APK บน Android Studio เพื่อนำไป Upload ขึ้น Play Store
เปลี่ยนสีให้กับ Logcat บน Android Studio
รู้จักเครื่อง ก่อนคิดจะเขียนแอพฯ
แก้ปัญหา Multiple dex files define บน Android Studio
รู้จักกับ Dependencies และการเรียกใช้ Library บน Android Studio
วิธีการติดตั้ง Java Development Kit (JDK) บน Windows
การส่ง APK ขึ้น Google Play
การขอ Permission เยอะๆบนแอนดรอยด์นั้นมันอันตรายจริงๆหรือ? Study Case จาก Pantip
Case Study ที่ไม่ต้องเขียนโปรแกรมเป็นก็ขายแอปพลิเคชันได้
Import Class อย่างไรไม่ให้ซ้ำซ้อนกัน
มีอะไรใหม่ใน Android L Developer Preview [แบบฉบับนักพัฒนา]
ช่วยด้วย! Emulator พิมพ์ภาษาไทยไม่ได้!!
รู้จักกับ Keystore และ Debug/Signed Keystore
เกร็ดความรู้เกี่ยวกับการขายแอปพลิเคชันแอนดรอยด์
Guideline สำหรับการเริ่มต้นเขียนแอปพลิเคชันแอนดรอยด์
วิธีดึงข้อมูลที่อยู่ภายใน Internal Storage ของแอปพลิเคชัน
เขียนโปรแกรมให้เป็น คิดกันอย่างไร? แก้ปัญหากันอย่างไร? - ตอนที่ 3
การติดตั้ง Genymotion บน Mac OS X
ทำ Batch File สำหรับ Execute คำสั่ง ADB
การทำ ADB หรือ Debugging ผ่าน WiFi
Package Name คืออะไร ทำไมถึงสำคัญกับการพัฒนาแอปแอนดรอยด์
เขียนโปรแกรมให้เป็น คิดกันอย่างไร? แก้ปัญหากันอย่างไร? - ตอนที่ 2
เขียนโปรแกรมให้เป็น คิดกันอย่างไร? แก้ปัญหากันอย่างไร? - ตอนที่ 1
ติดตั้ง Plugin ของ Genymotion ให้กับ Android Studio
ปัญหาตูดหมึกๆกับ Debug Certificate Expired ขณะที่ทำการ Run
ปัญหา Google Text-to-speech Engine บน Genymotion หยุดทำงาน
ติดตั้ง Google Apps ให้กับ Genymotion
ปัญหา INSTALL_FAILED_CPU_ABI_INCOMPATIBLE บน Genymotion
ติดโฆษณาบนแอพของเราด้วย AdMob ใน Google Play Service
หา Developer Options ไม่เจอ~
Android Manifest ประกอบไปด้วยอะไรบ้าง (สำหรับผู้เริ่มต้น)
USB Host และ USB Accessory บนแอนดรอยด์
แชร์โค๊ดให้คนอื่นดู จงใช้ GitHub Gist เถิดดดดดด
การนำไฟล์ไปใส่ใน Genymotion
การซื้อเครื่องสำหรับนักพัฒนาแอปพลิเคชันแอนดรอยด์
เมื่อต้องเจอคำสั่งใน Android API ที่เรียกใช้งานต่างกันในแต่ละเวอร์ชัน
Device Art Generator - สร้างภาพตัวอย่างง่ายๆ บนภาพอุปกรณ์แอนดรอยด์
แอปพลิเคชันหยุดทำงาน ทำยังไงดี?
ว่าด้วยเรื่อง Function จะมีใครบ้างนะที่จะเข้าใจมัน
เจาะลึกกับการล็อคทิศทางหน้าจอแอปพลิเคชัน
การอ่าน Certificate Fingerprint จาก Keystore
การติดตั้ง ADB Driver แบบ Manual บน Windows
การทำงานของโฟลเดอร์ใน Resource
วิธีเช็ค Fingerprint จาก debug.keystore แบบง่ายๆ
Genymotion - Android Emulator สุดเจ๋งสำหรับนักพัฒนาแอนดรอยด์
รวม ADB Driver สำหรับอุปกรณ์แอนดรอยด์
ว่าด้วยเรื่อง Resource, Assets และ External Storage ในแอนดรอยด์
ซื้อเครื่องมาเขียนเขียนแอพแอนดรอยด์ จะเลือกยังไงดี?