จากเอกสารเรื่อง Best Practice for Security and Privacy ได้อธิบายแนวปฏิบัติต่าง ๆ สำหรับการพัฒนา Android app ให้ปลอดภัย ประกอบไปด้วยเรื่องที่น่าสนใจดังนี้ Networking Intent Data storage เรื่องอื่น ๆ เช่น Emulator, Debug, Root, Obfuscation เป็นต้น ดังนั้นจึงทำการสรุปไว้นิดหน่อย ปล. มี Android developer คนไหนอ่านและศึกษากันบ้างนะ
Read More…
ในการพัฒนา Android application นั้นส่วนใหญ่จะทำงานอยู่บน Android Studio แต่ในการทำงานจริง ๆ นั้น สิ่งที่นักพัฒนาต้องใช้งานเป็นคือ command line ใน Android Studio ก็มี command line หรือ terminal ให้ใช้นะ ลองหัดใช้งานดูกันได้ แต่สิ่งที่ยากคือ มีคำสั่งอะไรให้ใช้งานบ้าง ? ดังนั้นมาดูกัน
Read More…
สำหรับ Android app นั้นปัญหาที่ทำให้ app crash น่าจะมีอยู่สองปัญหาใหญ่ ๆ คือ NullPointerException (NPE) OutOfMememoryError (OOM) หรือ Memory Leak ทั้งสองปัญหานั้นมีต้นเหตุมาจากประสบการณ์ของนักพัฒนาล้วน ๆ ซึ่ง NullPointerException นั้นสามารถแก้ไขได้ง่ายกว่า ถ้าเขียน code สำหรับการดักจับปัญหาให้ดี ๆ พร้อมทั้งใช้ความสามารถของภาษาเช่น Optional เป็นต้น แต่ว่า OutofMememoryError หรือ Memory Leak นั้น มันเป็นสิ่งที่ตรวจสอบยากกว่าเยอะ แต่ก็ใช่ว่า จะไม่สามารถตรวจสอบและค้นหาได้เลย เนื่องจากปัจจุบันมีเครื่องมือในการทำ profiling มากมาย มาดูว่า เราจะค้นหาและแก้ไขปัญหานี้กันอย่างไร
Read More…
การพัฒนา Mobile app ทั้ง Android และ iOS นั้น คงไม่มี developer คนไหนไม่รู้จัก Reactive หรือ Rx แต่กลับพบว่าหลาย ๆ คนยังไม่เข้าใจที่มาที่ไปว่า Rx มันเข้ามาช่วยอะไร ? ก่อนจะมี Rx มีอะไรให้ใช้บ้าง ? ปัญหาคืออะไร ? ดังนั้นก่อนที่จะเริ่มนำ Rx มาใช้งาน กลับมาสู่ความรู้พื้นฐานก่อนดีไหม ในบทความนี้เน้นไปที่ Android ก่อน
Read More…
วันนี้นั่งสร้างระบบ Continuous Integration (CI) สำหรับ Android app นิดหน่อย เพื่อทำการ integrate ส่วนการทำงานต่าง ๆ เข้าด้วยกัน ทำการ build และ ทดสอบระบบแบบอัตโนมัติ ทำให้เรารู้ข้อผิดพลาด เพื่อทำการแก้ไขได้อย่างรวดเร็ว ดังนั้นมาดูกันว่าจะทำการสร้างระบบ CI อย่างไรกันบ้าง
Read More…
ช่วงนี้ดู Slide และฟัง session ต่าง ๆ จากงาน DroidCon Berlin มี session ที่น่าสนใจเกี่ยวกับ Android เยอะเลย หนึ่งในนั้นคือ Effective Android Development ทำการอธิบายว่า นักพัฒนา software นั้น ไม่ใช่มีเพียงความรู้ความชำนาญในเรื่องนั้น ๆ เท่านั้น แต่ยังต้องรู้จักเลือกเครื่องมือให้เหมาะกับงานอีกด้วย Android ก็เช่นกัน เพื่อเพิ่ม productivity ในการพัฒนาระบบ รวมทั้งทำให้ App ที่พัฒนามีความเสถียรมากขึ้น ไม่ใช่เพียงนั่งทำงานไปวัน ๆ เท่านั้น มาดูกันว่ามีคำแนะนำดี ๆ อะไรบ้าง
Read More…
เคยนำบทความต่าง ๆ ของการพัฒนาระบบ Instagram มาแปลและสรุป ในครั้งนี้เป็นเรื่องราวสำหรับการพัฒนา Android app ว่าในช่วง 4 ปีที่ผ่านมานั้น ได้ทำอะไรมาบ้าง ? ผ่านร้อนผ่านหนาวอะไรมาบ้าง ? ตั้งแต่ version แรกที่พัฒนาด้วย engineer 2 คน ใช้เวลาไป 4 เดือน จนตอนนี้ทีมมีจำนวน 30 คนแล้ว ทำการแปลและสรุปจากบทความเรื่อง Instagram + Android: Four Years Later มาไว้นิดหน่อย น่าจะเป็นประโยชน์ต่อนักพัฒนากันบ้าง ทั้งการรับมือเรื่องขยายทีม ทั้งการรับมือเรื่องการดูแลรักษาระบบ ทั้งการเพิ่มความสามารถต่าง ๆ ทั้งการดูเรื่องขนาดของ APK ทั้งการดูเรื่อง performance ที่ขึ้นชื่อว่าเร็วมาก ๆ
Read More…
เมื่อเราทำการพัฒนา Android app ไปเรื่อย ๆ สิ่งที่เกิดขึ้นมาอย่างมากคือ Resource ต่าง ๆ ที่เราไม่ใช้งานเยอะมาก ๆ ซึ่งอยู่ใน folder res และ code ของเราตลอดจน library !! ส่งผลให้ขนาดของไฟล์ APK มีขนาดใหญ่จนเกินไป ดังนั้น สิ่งที่นักพัฒนาควรทำคือ ลบสิ่งที่ไม่ถูกใช้งานออกไปบ้าง มาลบกันดีกว่า
Read More…
จากประสบการณ์การพัฒนา Android app อันเล็กน้อย เลยนำมาสรุปไว้นิดหน่อยรวมกับข้อมูลจาก website ต่าง ๆ ซึ่งอาจจะเป็นประโยชน์บ้างสำหรับ Android Developer เพื่อที่จะไม่ต้องมาผิดซ้ำรอยกันอีก มาเริ่มกันเลยดีกว่า
Read More…
พอดีมีคำถามมาจากน้อง ๆ ที่เขียน Android app ว่า ถ้าต้องการทดสอบพวก Custom View โดยไม่ต้องเปิดหรือทดสอบผ่าน Activity ได้ไหม ? ตอบไปแบบไม่คิดว่า ทดสอบยังไงหว่า ไม่ผ่าน Activity !! แต่เมื่อคิดให้ดี ๆ ก็นึกออกว่า สามารถทดสอบด้วยการใช้ Robolectric เมื่อไปค้นหาเจอบทความเก่าหน่อยแต่อธิบายได้ดี เรื่อง Android: Unit testing custom views เลยเอามาลองใช้งานดูนิดหน่อย
Read More…