คู่มือเขียนแอพ Android ฉบับรวมโค้ด

25 February 2016
Posted by Anirut Jaklang

1      แอนดรอยด์ (Android) คือระบบปฏิบัติการสำหรับอุปกรณ์พกพา เช่น โทรศัพท์มือถือ และ คอมพิวเตอร์แบบแท็บเล็ต (Tablet Computer หรือ Tablet PC) เป็นต้น ซึ่งพัฒนามาจากระบบปฏิบัติการลินุกซ์ (Linux) อีกทีหนึ่ง  แรกเริ่มนั้นแอนดรอยด์ถูกพัฒนาโดยบริษัท Android Inc. ซึ่งก่อตั้งในปี ค.ศ. 2003 โดย Andy Rubin และ Rich Miner ต่อมาในปี ค.ศ. 2005 กูเกิลได้เข้าซื้อบริษัทดังกล่าว หลังจากนั้นกูเกิลได้ร่วมมือกับกลุ่มบริษัททางด้านฮาร์ดแวร์ ซอฟต์แวร์ และการสื่อสาร เช่น Intel, HTC, LG, Texas Instruments เพื่อจัดตั้งองค์กรความร่วมมือที่มีชื่อว่า Open Handset Alliance ขึ้นในปี ค.ศ. 2007 โดยมีจุดประสงค์ในการสร้างแพลตฟอร์ม สำหรับอุปกรณ์พกพาที่มีพื้นฐานอยู่บนมาตรฐานเปิด (Open Standard) ซึ่งโปรเจ็คแรกที่กลุ่ม Open Handset Alliance เปิดตัวออกมาก็คือแอนดรอยด์นี่เองในชื่อโปรเจ็คว่า The Android Open Source Project แอนดรอยด์ไม่ใช่สมบัติของบริษัทใดบริษัทหนึ่ง (non-proprietary) บริษัทผู้ผลิตมือถือหรืออุปกรณ์ที่นำแอนดรอยด์ไปใช้งานจึงไม่มีค่าใช้จ่ายด้านลิขสิทธิ์ นอกจากนี้การที่แอนดรอยด์เป็นแพลตฟอร์มโอเพ่นซอร์ส (Open Source) ก็ทำให้ผู้ผลิตสามารถปรับแต่งแอนดรอยด์ให้เหมาะกับฮาร์ดแวร์ของตนเองได้
           สำหรับนักพัฒนาทั่วไปจะสามารถพัฒนาแอพพลิเคชั่นที่รันบนแอนดรอยด์ได้โดยใช้ภาษาจาวาโดยการเข้าถึงความสามารถต่างๆของแอนดรอยด์จะกระทำผ่าน Java Library ที่กูเกิลได้จัดเตรียมไว้ให้ใน Android SDK หรือก็คือชุดพัฒนาซอฟตด์แวรด์สำหรับแอนดรอยด์นั่นเอง ซึ่งสามารถดาวนด์โหลดได้ฟรีแอนดรอยด์คือระบบปฏิบัติการที่พัฒนามาจากลินุกซ์โดยถูกออกแบบมาให้เป็นระบบปฏิบัติการ สำหรับอุปกรณด์พกพา เช่นมือถือ และแท็บเล็ตพีซีแอนดรอยด์เป็นระบบปฏิบัติการแบบโอเพ่นซอรด์ส และมีพื้นฐานอยู่บนมาตรฐานเปิดผู้ผลิตอุปกรณด์แอนดรอยด์จึงสามารถปรับแต่งแอนดรอยด์ให้เหมาะกับฮาร์ดแวร์ของตนได้ แอนดรอยด์อยู่ภายใต้การดูแลของกลุ่มOpen Handset Alliance ซึ่งเป็นการรวมตัวของบริษัททางด้านฮาร์ดแวร์ ซอฟตด์แวรด์ และการสื่อสาร โดยมีกูเกิลเป็นหัวเรือใหญ่ ภาษาที่ใช้ในการพัฒนาแอพพลิเคชั่นบนแอนดรอยด์คือภาษาจาวา โดยนักพัฒนาจะเรียกใช้ ความสามารถต่างๆในแอนดรอยด์ผ่านทาง Android SDK ที่กูเกิลเตรียมไว้ให้ โค้ดจาวาของแอพแอนดรอยด์ที่คอมไพล์แล้วจะรันอยู่ใน Dalvik Virtual Machine ซึ่งก็คือ Java Virtual Machine (JVM) ในแบบเฉพาะของแอนดรอยด์เองโครงสร้างของระบบแอนดรอยด์ประกอบด้วย

  • Linux Kernel
  • Native Libraries ซึ่งเขียนขึ้นด้วยภาษา C หรือ C++
  • Android Runtime ซึ่งประกอบด้วย Core Library สำหรับภาษาจาวา และ Dalvik Virtual Machine
  • Application Framework ซึ่งประกอบด้วยคอมโพเนนต์ต่างๆที่ใช้ในการสร้างแอพพลิเคชั่น
  • Applications คือแอพพลิเคชั่นต่างๆทั้งที่ติดตั้งมาพร้อมกับแอนดรอยด์อยู่แล้ว และผู้ใช้ติดตั้ง

          หลายคนคงเห็นด้วยกับผู้เขียนว่า Android เป็นแพลตฟอร์มที่เขียนโปรแกรม (แอพ) ได้ยากที่สุดแพลตฟอร์มหนึ่ง เพราะมีหลายเรื่องที่ต้องเรียนรู้และทำความคุ้นเคยกับมัน ก่อนที่เราจะสามารถสร้างแอพที่มีเนื้อหาสาระได้มากกว่าแอพ Hello World ไม่ว่าจะเป็นเรื่องของภาษาจาวา ซึ่งก็ไม่ใช่แค่ว่าคุณรู้วิธีสร้างอาร์เรย์ วนลูป หรือสร้างคลาสเป็นแล้วจะเขียนแอพ Android ได้ เพราะแม้แต่แอพที่ง่ายรองลงมาถัดจากแอพ Hello World คุณก็จำเป็นต้องเข้าใจเรื่อง Inheritance, Interface และการกำหนด Listener ในภาษาจาวาแล้วยังไม่นับเรื่องการออกแบบ Layout ที่ต้องใช้ภาษา XML, การใช้งานรีซอร์ส, การสร้างแอพให้รองรับ Android เวอร์ชั่นต่างๆ, การรองรับขนาดหน้าจอและความหนาแน่นของจุดภาพบนหน้าจอที่แตกต่างกันไปในแต่ละอุปกรณ์ การติดต่อกับ API เฉพาะด้านบางตัวที่ยุ่งยาก เช่น Google Maps API และเรื่องเล็กๆน้อยๆอีกจิปาถะ จากที่กล่าวมาข้างต้น มือใหม่ที่เพิ่งหัดเขียนแอพ Android จึงมักมืดแปดด้าน ไม่รู้ว่าต้องเขียนโค้ดอย่างไรเมื่อต้องการทำงานอย่างนั้นอย่างนี้ พอหาโค้ดตัวอย่างมาจากอินเทอร์เน็ตก็เจอปัญหารันไม่ได้ มี Error ตัวแดงเต็มหน้าจอไปหมด จึงเป็นที่มาของหนังสือเล่มนี้ครับ ผู้เขียนได้รวมรวมโค้ดตัวอย่างจากแหล่งข้อมูลต่างๆ ทั้งหนังสือ, เว็บไซท์ แล้วนำโค้ดมาดัดแปลงให้ดูเรียบง่าย ตัดส่วนที่ไม่จำเป็นออกเพื่อเน้นเฉพาะการทำงานที่เป็นจุดมุ่งหมายหลักจริงๆ เพิ่มคำอธิบายและภาพประกอบให้เข้าใจง่ายที่สุด โดยมุ่งหวังว่าหนังสือเล่มนี้จะไม่ใช่แค่เพียงโค้ดสำเร็จรูปที่นำไปใช้งานได้จริงเท่านั้น แต่ยังต้องทำให้คุณผู้อ่านได้เรียนรู้หลักการต่างๆในการเขียนแอพ Android และสามารถนำความรู้ไปต่อยอดเองได้
แหล่งที่มา
พร้อมเลิศ หล่อวิจิตร.  (2557).  คู่มือเขียนแอพ Android ฉบับรวมโค้ด ปรับปรุงใหม่.   กรุงเทพฯ : โปรวิชั่น.

Leave a Reply

Tags

blog CONSAL KPI PULINET การจัดการความรู้ การดูแลสุขภาพ การทำงาน การท่องเที่ยว การบริการ การปฏิบัติงานล่วงเวลา การประชาสัมพันธ์ การพัฒนาตนเอง การพัฒนาบุคลากร การลงรายการ การศึกษาดูงาน การอ่าน การเรียนออนไลน์ กิจกรรมสำหรับเด็ก กิจกรรมส่งเสริมการอ่าน กิจกรรมห้องสมุด ความสุข ค่ายห้องสมุด งานบริการ ธรรมะ นวนิยาย นักเขียน บรรณารักษ์ บริการชุมชน ประกันคุณภาพ ภาพถ่าย ภาษาอังกฤษ มหาวิทยาลัยศิลปากร ระบบห้องสมุดอัตโนมัติ วัด วันสำคัญ วารสาร สัมมนา สุขภาพ หนังสือ หนังสือบริจาค หนังสือและการอ่าน หอสมุดพระราชวังสนามจันทร์ ห้องสมุด ห้องสมุด 24 ชั่วโมง อาหาร