ตอนที่ 1 – Basic Android Developer: ทำความรู้จักกับแอนดรอยด์

เขียนเมื่อ December 27th, 2011 โดย

บทความนี้ถูกเขียนขึ้นที่ CodeAndroid Thailand ซึ่งต่อมาชุมชน CodeAndroid ก็ได้ทำงานร่วมกับ Thailand GTUG ดังนั้นจึงมีการแลกเปลี่ยนเนื้อหากันในบางส่วน

สำหรับในตอนแรกนี้เรามา “ทำความรู้จักกับแอนดรอยด์” โดยเนื้อหาจะเหมาะสำหรับบุคคลที่เพิ่งเริ่มต้นกับการพัฒนาแอปพลิเคขั่นสำหรับแอนดรอยด์ ก่อนที่เราจะเริ่มต้นกันนั้น เรามาทำความรู้จักถึงความเป็นมาของระบบปฏิบัติการแอนดรอดย์กันก่อนครับ

ในเดือนกรกฏาคมปี 2005 Google ได้เข้าซื้อกิจการของ Android Inc. บริษัทเล็กๆใน Palo Alto, California, USA. โดยเข้าซื้อทั้งกิจการและซื้อทั้งตัวบุคลากรใน Android Inc. ทั้งหมด ในเวลานั้นน้อยคนนักที่จะรู้จักว่าแอนดรอยคืออะไร รู้กันก็แต่ว่ากลุ่มคนที่ถูกซื้อจากบริษัทแอนดรอยด์นั้นทำซอฟแวร์สำหรับมือถือ ซึ่งในขณะนั้น Google ก็มีแผนจะรุกตลาดโทรศัพท์มือถือและอุปกรณ์เคลื่อนที่เช่นกัน

ซึ่งหัวหน้าทีมผู้พัฒนาระบบแอนดรอยด์คือ Andy Rubin กำลังพัฒนาระบบปฏิบัติการบนอุปกรณ์เคลื่อนที่รวมไปถึงโทรศัพท์มือถือโดยใช้ Linux kernel เพื่อเป็นระบบปฏิบัติการให้แก่ผู้ผลิตและผู้ให้บริการโทรศัพท์ โดยมีหลักสำคัญคือ Android ต้องมีความยืดหยุ่นและสามารถอัพเกรดได้ พร้อมทั้งสามารถรองรับบริการต่างๆจากทาง Google ได้อย่างคล่อง

ต่อมาเมื่อวันที่ 5 พฤศจิกายน 2007 Google ได้วางแผนในการพัฒนาระบบปฏิบัติการ Android โดยจับมือกับพันธมิตรทางธุรกิจด้านการสื่อสารโทรคมนาคม รวมไปถึงบริษัทผลิต Application และบริษัทผู้ผลิตอุปกรณ์ โดยได้มีการก่อตั้ง องการที่มีชื่อว่า “Open Handset Alliance (OHA)

Open Handset Alliance เป็นองกรความร่วมมือจากหลายๆภาคส่วนด้านโทรคมนาคมและอุปกรณ์รอมไปถึงซอฟแวร์ที่รวมตัวกันเพื่อพัฒนาระบบปฏิบัติการ Android โดยมี Google เป็นแกนนำ และมีบริษัทที่เข้าร่วมมากมายทั้ง Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel และ T-Mobile โดยร่วมกันพัฒนามาตราฐานของอุปกรณ์เคลื่อนที่แบบเปิด ต่อมา Open Handset Alliance ได้เปิดตัวโปรเจคแรกนั้นก็คือ Android mobile platform โดยใช้ Linux kernel version 2.6 เป็นฐานการพัฒนา

ในช่วงปลายปี 2008 Open Handset Alliance ได้มีบริษัทมาเข้าร่วมเป็นสมาชิกอีกกว่า 14 บริษัท คือ PacketVideo, ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group Plc.

ข้อมูลจาก – Plet.in.th : Android Story ตอนที่ 1 Android History

แอนดรอยด์คืออะไร?

แอนดรอยด์ (Android) หรือ ระบบปฏิบัติการแอนดรอยด์ (Android Operating System) เป็นชื่อเรียกชุดซอฟท์แวร์ หรือแพลตฟอร์ม (Platform) สำหรับอุปกรณ์อีเล็กทรอนิกส์ ที่มีหน่วยประมวลผลเป็นส่วนประกอบ อาทิเช่น คอมพิวเตอร์, โทรศัพท์ (Telephone), โทรศัพท์เคลื่อนที่ (Cell phone), อุปกรณ์เล่นอินเตอร์เน็ตขนาดพกพา (MID) เป็นต้น แอนดรอยด์นั้น ถือกำเนิดอย่างเป็นทางการในวันที่ 5 พฤศจิกายน 2550 โดยบริษัท กูเกิล จุดประสงค์ของแอนดรอยด์นั้น มีจุดเริ่มต้นมาจากบริษัท Android Inc. ที่ได้นำเอาระบบปฏิบัติการลีนุกซ์ (Linux) ซึ่งนิยมนำไปใช้งานกับเครื่องแม่ข่าย (Server) เป็นหลัก นำมาลดทอนขนาดตัว (แต่ไม่ลดทอนความสามารถ) เพื่อให้เหมาะสมแกการนำไปติดตั้งบนอุปกรณ์พกพา ที่มีขนาดพื้นที่จัดเก็บข้อมูลที่จำกัด โดยหวังว่า แอนดรอยด์ นั้นจะเป็นหุ่นยนต์ตัวน้อย ๆ ที่คอยช่วยเหลืออำนวยความสะดวกแก่ผู้ที่พกพามัน ไปในทุกที่ ทุกเวลา

Android Logo

กูเกิลแอนดรอยด์ เป็นชื่อเรียกอย่างเป็นทางการของเจ้าแอนดรอยด์ เนื่องจากปัจจุบันนี้ บริษัทกูเกิล เป็นผู้ที่ถือสิทธิบัตรในตราสัญญาลักษณ์ ชื่อ และ รหัสต้นฉบับ (Source Code) ของแอนดรอยด์ ภายใต้เงื่อนไขการพัฒนาแบบ GNL โดยเปิดให้นักพัฒนา (Developer) สามารถนำรหัสต้นฉบับ ไปพัฒนาปรับแต่งได้อย่างเปิดเผย (Open source) ทำให้แอนดรอยด์มีผู้เข้าร่วมพัฒนาเป็นจำนวนมาก และพัฒนาไปได้อย่างรวดเร็ว

แอนดรอยด์เปิดตัวอย่างเป็นทางการเมื่อวันที่ 5 พฤษภาคม พุทธศักราช 2550 ปัจจุบันมีผู้ร่วมพัฒนากว่า 52 องค์กร ประกอบด้วยบริษัทซอฟท์แวร์ บริษัทผู้ผลิตอุปกรณ์ บริษัทผู้ผลิตชิ้นส่วนอิเล็คทรอนิกส์ บริษัทผู้ให้บริการเครือข่าย และบริษัทที่เกี่ยวข้องกับการสื่อสาร ฯลฯ

ประเภทของชุดซอฟท์แวร์

เนื่องจากแอนดรอยด์นั้นเปิดให้นักพัฒนาเข้าไปชมรหัสต้นฉบับได้ ทำให้มีผู้พัฒนาจากหลายฝ่ายนำเอารหัสต้นฉบับมาปรับแต่ง และสร้างแอนดรอยด์ในแบบฉบับของตนเองขึ้น เราจึงแบ่งประเภทของแอนดรอยด์ออกได้เป็น 3 ประเภท ดังต่อไปนี้

  1. Android Open Source Project (AOSP) เป็นแอนดรอยด์ประเภทแรกที่กูเกิลเปิดให้สามารถนำ “ต้นฉบับแบบเปิด” ไปติดตั้งและใช้งานในอุปกรณ์ต่าง ๆ ได้โดยไม่ต้องเสียค่าใช้จ่ายได ๆ
  2. Open Handset Mobile (OHM) เป็นแอนดรอยด์ที่ได้รับการพัฒนาร่วมกับกลุ่มบริษัทผู้ผลิตอุปกรณ์พกพา ที่เข้าร่วมกับกูเกิลในนาม Open Handset Alliances (OHA) ซึ่งบริษัทเหล่านี้จะพัฒนาแอนดรอยด์ในแบบฉบับของตนออกมา โดยรูปร่างหน้าตาการแสดงผล และฟังค์ชั่นการใช้งาน จะมีความเป็นเอกลักษณ์ และมีลิขสิทธิ์เป็นของตน พร้อมได้รับสิทธิ์ในการมีบริการเสริมต่าง ๆ จากกูเกิล ที่เรียกว่า Google Mobile Service (GMS) ซึ่งเป็นบริการเสริมที่ทำให้แอนดรอยด์มีประสิทธิภาพ เป็นไปตามจุดประสงค์ของแอนดรอยด์ แต่การจะได้มาซึ่ง GMS นั้น ผู้ผลิตจะต้องทำการทดสอบระบบ และขออนุญาตกับทางกูเกิลก่อน จึงจะนำเครื่องออกสู่ตลาดได้
  3. Cooking หรือ Customize เป็นแอนดรอยด์ที่นักพัฒนานำเอารหัสต้นฉบับจากแหล่งต่าง ๆ มาปรับแต่ง ในแบบฉบับของตนเอง โดยจะต้องทำการปลดล๊อคสิทธิ์การใช้งานอุปกรณ์ หรือ Unlock เครื่องก่อน จึงจะสามารถติดตั้งได้ โดยแอนดรอยด์ประเภทนี้ถือเป็นประเภทที่มีความสามารถมากที่สุด เท่าที่อุปกรณ์เครื่องนั้น ๆ จะรองรับได้ เนื่องจากได้รับการปรับแต่งให้เข้ากับอุปกรณ์นั้น ๆ จากผู้ใช้งานจริง

สิทธิ์ในการใช้งานระบบ

เช่นเดียวกับระบบปฏิบัติการทั่วไป ที่มีการจำกัดการใช้งาน และการเข้าถึงส่วนต่าง ๆภายในระบบ เพื่อความปลอดภัยของระบบ และ ผู้ใช้งาน อุปกรณ์ที่ติดตั้งระบบแอนดรอยด์จึงมีการจำกัดสิทธิ์ไว้ (เว้นแต่ได้ทำการปลดล๊อคสิทธิ์ หรือ root เครื่องแล้ว) สามารถแบ่งสิทธิ์ของผู้ใช้ในการเข้าถึงระบบคร่าว ๆ ได้ดังต่อไปนี้

  1. สิทธิ์ root สิทธ์การใช้ใช้งานระดับราก ซึ่งถือว่าเป็นรากฐานของระบบ จึงมีความสามารถในการเข้าถึงทุก ๆ ส่วนของระบบ
  2. สิทธิ์ ADB (Android Develop Bridge) นักพัฒนาสามารถเข้าถึงส่วนต่าง ๆ ของระบบได้ผ่านสิทธิ์นี้
  3. Application & System สิทธิ์ของโปรแกรมในการเข้าถึงระบบ และสิทธิ์ของระบบในการเข้าถึงอุปกรณ์ โดยสิทธิ์เหล่านี้ ตัวระบบจะเป็นตัวจัดการมอบและถอนสิทธิ์ ตามเงื่อนไขที่กำหนดซึ่งจะถูกแบ่งย่อยออกเป็นหลายหัวข้อ (http://developer.android.com/reference/android/Manifest.permission.html)
  4. End-user ผู้ใช้งานขั้นสุดท้าย ซึ้งก็คือ คุณ และ คุณ ทั้งหลาย ที่ใช้การเข้าถึงส่วนต่าง ๆ ของระบบผ่านช่องทางสิทธิ์ที่โปรแกรมได้รับอีกที โดยจะถูกจำกัดไม่ให้เข้าถึงในส่วนที่เป็นอันตรายต่อแกนระบบและอุปกรณ์

ข้อจำกัดของแอนดรอยด์

แอนดรอยด์ที่ดีนั้นจะต้องมี GMS (Google Mobile Services) ซึ่งก็จะต้องขึ้นอยู่กับกูเกิลว่าผู้ผลิตเครื่องไหน สามารถที่นำเอา GMS ไปใช้ได้บ้าง ซึ่งจะต้องได้รับการยอมรับ และอนุมัติเป็นลายลักษณ์อักษร จากผู้ถือสิทธิบัตรซึ่งก็คือ กูเกิล เสียก่อน หลังจากนั้นจึงจะเผยแพร่ได้ หากแต่เป็นการเผยแพร่ในเชิงพัฒนา หรือแจกฟรีนั้น ไม่จำเป็นต้องรอให้ทางกูเกิลอนุมัติก็ได้ ส่งผลให้อุปกรณ์บางรุ่นถูกจำกัดความสามารถในการใช้งาน แต่อย่างไรก็ตาม ภายใต้ GNL สิทธิบัตร จึงเป็นการเปิดโอกาศให้มีการพัฒนาได้อย่างอิสระ ทำให้ข้อจำกัดต่าง ๆ หมดไป เมื่อมีคนใช้ก็ย่อมมีคนแก้ ยิ่งใช้เยอะยิ่งมีคนช่วยแก้เยอะ

ข้อมูลจาก – Android Thailand Community : Siamphone เขียนโดย Nasz

ที่มา : CodeAndroid Thailand