วันอาทิตย์ที่ 31 กรกฎาคม พ.ศ. 2554

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


Android (แอนดรอยด์)คือ  ระบบปฏิบัติการบนโทรศัพท์และอุปกรณ์เคลื่อนที่ ที่เริ่มแรกเดิมทีนั้นถูกพัฒนาโดยบริษัท Android Inc. และต่อมาก็ถูกซื้อโดย กูเกิลในปี 2005 โดยที่ Android นั้นถูกพัฒนาโดยใช้รากฐานดัดแปลงมาจาก Linux kernel  ต่อมา Google และ พันธมิตบริษัทอื่นๆได้รวมตัวจัดตั้งองกรความร่วมมือทืี่ชื่อว่า Open Handset Alliance เพื่อต่อยอด Android ให้ประสบผลสำเร็จในเชิงพาณิช
http://img.spacethai.net/images/1876552468.jpg
http://img.spacethai.net/images/marketintl.png
ระบบปฏิบัติการ Android นั้นอยู่ในกลุ่มของ Open Source Project นั้นคือมีการเปิดเผยซอร์สโค๊ตให้นักพัฒนาทั่วโลกสามารถพัฒนาต่อยอดได้ โดยยอดขายของโทรศัพท์มือถือในกลุ่ม Smart phone ในประเทศสหรััฐอเมริกา Android มีส่วนแบ่งในตลาดสูงถึง 43.6%
http://img.spacethai.net/images/bglogo.pngAndroid นั้นมีชุมชนนักพัฒนาซอร์ฟแวร์ขนาดใหญ่ที่คอยสร้างสรรค์ Application หรือลูกเล่นต่างๆใหกับโทรศัพท์มือถือที่มีระบบปฏิบัติการแอนดรอยด์ โดยปัจจุบันมีโปรแกรมต่างๆ มากกว่า 200,000 โปรแกรม
การเขียนหรือการพัฒนาโปรแกรมบนแอนดรอยด์สามารถเขียนได้โดยใช้ภาษา จาวา เพื่อควบคุมอุปกรณ์ต่างๆโดยผ่านทาง Google-developed Java libraries

เริ่มต้นการพัฒนา Application ด้วย Hello World

มาคราวนี้เราจะลอง App ง่ายๆ บน Android กัน ด้วยโปรแกรมพื้นฐานสำหรับทุกการเขียนโปรแกรมอย่าง Hello World
http://img.spacethai.net/images/helloandro.png
เริ่มต้นด้วยการสร้างโปรเจค Android ใน Eclipse
1. เปิดโปรแกรม Eclipse ขึ้นมา จากนั้นเลือกที่ File > New > Project
ในหน้าต่าง New Project ภายใต้ Android เลือก Andrild project ดังรูป หลังจากนั้นให้กด Next
http://img.spacethai.net/images/helloakqk.png
2. เมื่อเสร็จจากขั้นตอนแรกแล้วจะได้ดังรูปนี้ โดยกรอกข้อมูลต่อไปนี้
Project Name: HelloWorld
Build Target : Android 2.2
Application Name: HelloWorld
Package Name: com.example.hello
Create Activity: HelloWorld
Min SDK Version: 8
จากนั้นคลิกที่ Finish
http://img.spacethai.net/images/helloavov.png
นี่คือคำอธิบายของแต่ละฟิลด์:
Project Name : นี้คือชื่อโปรเจกของ Eclipse – ชื่อของไดเรกทอรีที่จะมีไฟล์โปรเจกอยู่
Build Target : ได้เลือกใช้ Android 2.2 platform ซึ่งหมายความว่าแอปพลิเคชันของคุณจะถูก compiled กับ Android 2.2 platform library
Application Name : นี้เป็นชื่อสำหรับแอปพลิเคชันของคุณ – ชื่อที่จะปรากฏในอุปกรณ์ Android
Package name : นี้คือ namespace แพคเกจ (ตามกฎเดียวกันกับสำหรับแพคเกจในภาษา Java) ถ้าจะเปรียบเทียบให้ง่ายๆก็เหมือนเป็นโฟลเดอร์ที่ทำหน้าที่จัดเก็บ Class ต่างๆ ไว้ให้เป็นหมวดหมู่
Create Activity : นี้คือชื่อสำหรับ class stub ที่จะสร้างโดยปลั๊กอินนี้ ซึ่งจะเป็น subclass ของ Android’s Activity class
Min SDK Version : ค่านี้ระบุ API ระดับต่ำสุดที่จำเป็นสำหรับแอปพลิเคชันของคุณ
3. ตอนนี้โปรเจก Android ของคุณพร้อมแล้ว คุณจะมองเห็นใน Package Explorer อยู่ด้านซ้าย คลิกเปิดไฟล์HelloWorld.java (HelloAndroid > src > com.example.helloworld) ซึ่งควรมีลักษณะเช่นนี้:

package com.example.helloworld;

import android.app.Activity;
import android.os.Bundle;

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

ลังจากสร้างโปรเจกเรียบร้อยแล้ว ขึ้นตอนต่อมาคือการรันแอปพลิเคชัน
1. คลิกเลือกที่ Run > Run
2. เลือก “Android Application”
หลังจากนั้นโปรแกรมจะทำการเปิด Emulator ของ Android SDK 2.2 ที่เราเคยสร้างไว้ขึ้นมาอย่างอัตโนมัติ กดที่ Manu เพื่อปลดล็อกเครื่อง
ซึ่งคุณจะเห็น Hello World ดังรูป
http://img.spacethai.net/images/helloakhk.png
ขอขอบคุณ http://www.openplus.org/content/development/application-android-sdk-16-hello-world

Android SDK ชุดพัฒนาซอร์ฟแวร์สำหรับแอนดรอยด์

http://img.spacethai.net/images/sdk.pngAndroid มีโครงสร้างทางสถาปัตยกรรมซอฟแวร์ดังนี้ครับ
การพัฒนา Application บน Android จะใช้ภาษา JAVA โดยต้องติดตั้งส่วนเสริมที่ชื่อว่า ADT หรือAndroid Development Tools ซึ่งเป็นส่วนเสริมของ IDE ที่ใช้ในการเขียนโปรแกรม และ ADT นี้ก็รวมอยู่เป็นส่วนหนึ่งของ Android SDK
แล้ว Android SDK คืออะไร
Android SDK ย่อมาจาก Android Software Development Kit ซึ่งเป็นชุดโปรแกรมที่ทาง Google พัฒนาออกมาเพื่อแจกจ่ายให้นักพัฒนาแอพพลิเคชั่น หรือผู้สนใจทั่วไปดาวน์โหลดไปใช้กันโดยไม่มีค่าใช้จ่าย ซึ่งนี่ก็เป็นหนึ่งในปัจจัยที่ทำให้แอพพลิเคชั่นบนแอนดรอยด์นั้นเพิ่มขึ้น อย่างรวดเร็ว ซึ่งในชุด SDK นั้นจะมีโปรแกรมและไลบรารี่ต่างๆ ที่จำเป็นต่อการพัฒนาแอพพลิเคชั่นบนแอนดรอยด์ อย่างเช่น Emulator ซึ่งทำให้ผู้ใช้สามารถสร้างแอพพลิเคชั่นและนำมาทดลองรันบนตัวอีมูเลเตอร์ ก่อน โดยมีสภาวะแวดล้อมเหมือนมือถือที่รันระบบปฏิบัติการแอนดรอยด์จริงๆ
สำหรับการเริ่มต้นและการติดตั้ง Android SDK พร้อม IDE ที่ชื่อว่า Eclipse ผมได้นำบทความจาก rutcreate.com มานำเสนอนะครับ
เรามาเริ่มกันเลย

ขั้นแรก: ติดตั้ง Eclipse

ตัว IDE ที่ใช้ในการพัฒนาจะเป็น Eclipse สามารถดาวน์โหลดได้ที่ http://www.eclipse.org/downloads/ แนะนำให้ดาวน์โหลด Eclipse Classic
หลังจากดาวน์โหลดมาแล้วให้แตกไฟล์ออกมาเท่านี้ก็เรียบร้อยเพราะ Eclipse ไม่จำเป็นต้องติดตั้ง มันเหมือนเป็น Portable Application

ขั้นที่สอง: ติดตั้ง Android SDK

ให้ดาวน์โหลดตัว SDK จาก http://developer.android.com/sdk/index.html โดยเลือกให้ตรงกับ platform ที่เราใช้พัฒนา หลังจากดาวน์โหลดมาแล้วให้แตกไฟล์ออกมาจะได้เป็นชื่อ android-sdk-<machine-platform> ในที่นี้ของเราใช้ windows ชื่อโฟลเดอร์ที่ได้ก็จะเป็น android-sdk-windows
จากนั้นเราควรทำให้คำสั่งต่างๆของ SDK สามารถใช้งานได้ทุกที่โดย คลิกขวาที่ My Computer เลือก Properties จากนั้นเลือก Advanced Tab ด้านล่างสุดจะมีปุ่ม Environment Variables อยู่ให้คลิกแล้วจะมีหน้าต่างเล็กๆขึ้นมาที่ System Variables ให้หาคำว่า Path แล้วกด Edit จากนั้นให้ใส่ที่อยู่เต็มๆของ android-sdk-windows/tools ต่อด้านหลังสุด เช่น C:\android-sdk-windows\tools ถ้าหลังสุดไม่มี ; (semi-colon) อยู่ให้เติมไปด้วย เช่น ;C:\android-sdk-windows\tools

ขั้นที่สาม: ติดตั้ง ADT Plugin ผ่าน Eclipse

เปิด Eclipse ขึ้นมา (ที่ดาวน์โหลดจากขั้นตอนแรก)
ที่เมนูเลือก Help -> Install New Software จะมีหน้าต่างใหม่ขึ้นมา
กดปุ่ม Add จะมีช่องให้กรอกข้อมูล
Name: ใส่ Android Plugin (จริงๆใส่อะไรก็ได้ แต่ให้อ่านแล้วเข้าใจก็พอ)
Location: ใส่ https://dl-ssl.google.com/android/eclipse/
จากนั้นกด OK แล้วหน้าต่าง Available Software ในพื้นที่ว่างๆตรงกลางจะมี Developer Tools โผล่ขึ้นมา ให้ลองกดลูกศรหน้า Developer Tools จะมีอีกสองอันโผล่มาคือ Android DDMS กับ Android Development Tools ให้เลือกทั้งหมดแล้วกด Next
มันจะทำการ Calculating อะไรซักอย่าง รอมันจนกว่าจะมีให้กด Next อีกครั้ง พอกดแล้วหน้าต่างจะแบ่งออกเป็น 2 ฝั่ง ฝั่งซ้ายเป็นรายของ Software ที่เราจะติดตั้ง ด้านขวาเป็น Agreement ให้เราเลือก Accept แล้วกด Finish
รอจนมัน Download และ Install เสร็จ มันจะให้ Restart Eclipse ใหม่

ขั้นที่สี่: ติดตั้ง Platform version ของ Android

ที่เมนู Window -> Android SDK and AVD Manager ด้านซ้ายเลือกแถบ Available Packages ด้านขวาจะแสดง repository ของ packages
ให้เราติ๊กที่ https://dl-ssl.google.com/android/repository/repository.xml แล้วจะมี platform ของ android ขึ้นมา ให้เราเลือก version ที่เราต้องการจะพัฒนา (แนะนำให้เลือกหมด) จากนั้นกด Install Selected
มันจะให้เรายืนยันการติดตั้งให้กด Accept (กรณีเลือกหลายอันกด Accept All)
ขั้นตอนนี้จะค่อนข้างนานเพราะว่าต้องดาวน์โหลด platforms ต่างๆมาลงที่เครื่องเราซึ่งแต่ละไฟล์ไม่ได้ขนาดเล็กๆ
ส่วน platform ต่างๆที่ติดตั้งจะอยู่ที่ android-sdk-windows/platforms
ที่เมนู Window -> Preferences ด้านซ้ายเลือกแถบ Android ด้านขวาตรง SDK  Location ให้เลือก directory ของ android-sdk-windows ที่เราดาวน์โหลดมาในขั้นตอนที่สอง แล้วตารางด้านล่างจะแสดง platform version ของ android ที่เราได้ติดตั้งไว้ กดนั้นกด Apply

ขั้นที่ห้า: สร้าง Android Virtual Device (AVD)

http://img.spacethai.net/images/92383870.png
Android Virtual Device เป็นตัวจำลอง Android บนเครื่องคอมพิวเตอร์หรือจะเรียกกันง่ายๆว่า Emulator นี่เอง ถ้าเราไม่มีเครื่อง Android ก็สามารถใช้เจ้า Emulator นี่แสดงผล Application ที่เราพัฒนามาได้เลย
ที่เมนู Window -> Android SDK and AVD Manager ด้านซ้ายเลือกแถบ Virtual Devices ด้านขวากดปุ่ม New
Name: ตั้งชื่อ device เช่น G1 หรือ Hero
Target: Platform version ที่ต้องการ
SD Card: ขนาดความจำของ SD Card
Hardware: ส่วนนี้จะเป็นความสามารถของตัวเครื่องจำลองที่เราต้องการให้มี เช่น Camera Support, SD Card Support, Touch-screen support
เมื่อป้อนข้อมูลเรียบร้อยแล้วกด Create AVD พอสร้างเสร็จให้เลือก Device ที่เราเพิ่งสร้าง แล้วกด Start -> Launch จะได้ตามรูป
http://img.spacethai.net/images/android1.png
http://img.spacethai.net/images/android2.png

Android Story ตอนที่ 1 Android History

ในเดือนกรกฏาคมปี 2005 Google ได้เข้าซื้อกิจการของ Android Inc. บริษัทเล็กๆใน Palo Alto, California, USA. โดยเข้าซื้อทั้งกิจการและซื้อทั้งตัวบุคลากรใน Android Inc. ทั้งหมด ในเวลานั้นน้อยคนนักที่จะรู้จักว่าแอนดรอยคืออะไร รู็กันก็แต่ว่ากลุ่มคนที่ถูกซื้อจากบริษัทแอนดรอยนั้นทำซอฟแวร์สำหรับมือถือ ซึ่งในขณะนั้น Google ก็มีแผนจะรุกตลาดโทรศัพท์มือถือและอุปกรณ์เคลื่อนที่เช่นกัน
http://img.spacethai.net/images/500pxandro.png
ที่กูเกิล หัวหน้าทีมผู้พัฒนาคือ Andy Rubin กำลังพัฒนาระบบปฏิบัติการบนอุปกรณ์เคลื่อนที่รวมไปถึงโทรศัพท์มือถือโดยใช้ Linux kernel เพื่อเป็นระบบปฏิบัติการให้แก่ผู้ผลิตและผู้ให้บริการโทรศัพท์ โดยมีหลักสำคัญคือ Android ต้องมีความยืดหยุ่นและสามารถอัพเกรดได้ พร้อมทั้งสามารถรองรับบริการต่างๆจากทาง Google ได้อย่างคล่อง
ต่อมาเมื่อวันที่ 5 พฤศจิกายน 2007 Google ได้วางแผนในการพัฒนาระบบปฏิบัติการ Android  โดยจับมือกับพันธมิตรทางธุรกิจด้านการสื่อสารโทรคมนาคม รวมไปถึงบริษัทผลิต Application และบริษัทผู้ผลิตอุปกรณ์ โดยได้มีการก่อตั้ง องการที่มีชื่อว่า

Open Handset Alliance

http://img.spacethai.net/images/openhandse.png
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.