Code

Code

วันอาทิตย์ที่ 25 ธันวาคม พ.ศ. 2559

ANDROID : Ripple Effect



Ripple Effect


   สวัสดีครับ ทุกท่านน่าจะรู้จัก Selector กันดี ที่เห็นชัดๆก็จะเป็น Selector ของ Button แบบรูปข้างล่างนี้

Selector (ดูดรูปมาจากบทความพี่เอกซะเลย ขี้เกียจทำใหม่ฮ่าๆ)
http://www.akexorcist.com/2013/09/android-design-button-selector-custom.html

     ขออธิบายเจ้า Selector คร่าวๆก่อน Selector เนี่ยมีมานานมากๆแหละ มันก็คือ Effect ที่ทำให้เรารู้ว่า View ที่เราแตะไปเนี่ยเราแตะโดนจริงๆนะ 

     หากใช้ Button แบบ defalut เลยมันก็จะมี state มาให้ครบไม่ต้องเพิ่มคำสั่งอะไรเข้าไปอีก แต่ถ้าเราจะใช้รูปอื่นๆมาแทน หากเราไม่ทำ state ต่างๆให้มัน เวลาเราก็มันก็จะไม่มีการเปลี่ยนแปลงอะไรเลย 

    ในแง่ของ UX แล้วนั้น ไม่ดีเอามากๆเพราะ User ไม่รู้ว่าปุ่มได้ถูกกดแล้วนะ ซึ่ง Selector ที่เรากำลังพูดถึงเนี่ยมันเป็น Effect ที่ค่อนข้างจะเก่าแล้วเริ่มจะล้าสมัยแล้ว 

วันพุธที่ 16 พฤศจิกายน พ.ศ. 2559

ANDROID : App Launch time (Android Performance Patterns)


สวัสดีครับทุกท่าน จากคราวที่แล้วที่ผมแนะนำเรื่อง Best Practices for Performance : Use Enhanced For Loop Syntax (การใช้ for loop ขั้นเทพเพื่อประสิทธิภาพที่ดีและเร็วขึ้น) มาคราวนี้ผมก็มาในหัวข้อ Performance อีกแล้ว แต่เป็นเรื่องของ App Launch time 

App Launch time คืออะไร มันก็คือเวลาที่เราใช้ในการเรียกใช้งานแอพพลิเคชั่นหรือเรียกง่ายๆว่าเวลาเปิดแอพนั้นแหละครับ เอ๊ะ !! แล้วทำไมเวลาเปิดแอพถึงสำคัญถึงขนาดที่ควรจะทำตาม Performance Pattern ละ 








คุณรู้ไหมว่าทุกๆ 1/4 วินาทีของ user ที่ใช้เวลาไปกับการรอหน้าจอเปล่าๆ (ขาวๆหรือดำๆแล้วแต่ธีม) แทนที่เขาจะได้ใช้งานเลย นั้นมีโอกาศทำให้ user ปิดแอพของคุณแล้วไปให้ความสนใจกับสิ่งอื่นแทน

วันอาทิตย์ที่ 19 มิถุนายน พ.ศ. 2559

ANDROID : Image compression (การลดขนาดไฟล์รูปภาพสำหรับนักพัฒนา)

วีดีโอจากงาน Google I/O 2016 หัวข้อ Image compression for android developer นั้น คุณ Colt McAnlis นักพัฒนาของกูเกิล ได้พูดถึงแนวทางการลดขนาดไฟล์รูปภาพสำหรับนักพัฒนาเพื่อให้แอพมีขนาดเล็กลงและเพิ่มประสิทธิภาพในการทำงาน





ขออธิบายคร่าวๆตามภาพนะครับ

วันอาทิตย์ที่ 12 มิถุนายน พ.ศ. 2559

ANDROID : Firebase Cloud Messaging Tutorial ( step by step : ภาษาไทย)

    เนื่องจาก  GCM Cloud Messaging ตัวเดิมของ Google นั้นหยุดพัฒนาและได้ให้นักพัฒนาหันมาใช้ Cloud Messaging ตัวใหม่แทน มีชื่อว่า Firebase Cloud Messaging (FCM) โดยโครงสร้างพื้นฐายส่วนใหญ่ถูกพัฒนาขึ้นมาจาก ​GCM ตัวเดิมนั้นเอง ซึ่งหากเราเข้าไปหน้าเว็บของ GCM จะมีข้อความขึ้นเตือนให้หันมาใช้ Firebase แทน


ในเมื่อเขาบอกให้เปลี่ยน เราเป็นนักพัฒนาก็ต้องพัฒนาตัวเองตามเทคโนโลยีไปด้วย เรามาลองดู Firebase กันเถอะ    https://firebase.google.com/

วันพฤหัสบดีที่ 21 เมษายน พ.ศ. 2559

ANDROID : Fingerprint API Tutorial [การใช้งาน Fingerprint Unlock]




 เริ่มจากอธิบายก่อน Fingerprint API เพิ่งจะเพิ่มมาใน API Level 23 หรือ Android M เพราะฉะนั้นหากต่ำกว่านั้นจะไม่สามารถเรียกใช้งานได้ (แต่ใน Samsung galaxy s6 : Lollipop นั้น samsung เขียน library ขึ้นมาเอง สามารถตามไปศึกษาได้ที่ http://developer.samsung.com/resources/pass ) แต่ใน blog นี้เราจะมาเรียนรู้ fingerprint api ที่ android พัฒนาขึ้นมาเอง และเราต้องใช้ fingerprint ของเครื่อง ไม่สามารถจะสร้างลายนิ้วมือได้เอง ต้องไปเปิดการใช้งานและเพิ่มลายนิ้วมือใน setting ของเครื่องก่อน งั้นเรามาเริ่มกันเลย

วันอังคารที่ 8 มีนาคม พ.ศ. 2559

[ANDROID : Code - Tip] icon Left TextView | Button

วันนี้มานำเสนอการนำ icon มาใส่หน้า TextView หรือ หน้าข้อความใน Button ด้วยวิธีที่ง่ายแสนง่าย



เพียงแค่คุณนำคำสั่ง drawableLeft​  มาใส่ในแท๊กของ TextView หรือ Button ดังนี้

วันอังคารที่ 13 ตุลาคม พ.ศ. 2558

ANDROID : LogCustom (show ClassName,MethodName,Line,Title,Detail)

วันนี้จะมาแนะนำ Class ที่เอาไว้สำหรับแสดง Log แบบที่แสดงทั้ง ชื่อClass ,ชื่อMethod ,บรรทัดที่เท่าไหร่ ,หัวข้อ ,และรายละเอียด เพื่อให้ง่ายต่อการติดตามว่าเราได้ Log ทิ้งไว้ตรงไหนบ้าง :)

  วิธีการเรียกใช้งานก็ง่ายๆ แค่

1
LogCustom.showLog("title","detail");

ผลที่ได้ก็คือ

1
10-13 13:17:20.461 29221-29363/PackageName V/title: LogCustom : [ClassName.MethodName() Line:183]: detail

หวังว่าคงจะเป็นประโยชน์กับเหล่า Dev ทุกท่านนะครับ :)

Thank for source code
@author kvarela