You are on page 1of 15

1

รายงาน
เรื่อง Google Android

เสนอ

อาจารย ธนิต เกตุแกว

จัดทําโดย

นาย ปยะณัฐ แยบคาย รหัส 50523206013-5


นาย ศุภรักษ สมศรี รหัส 50523206025-9
วศ.บ.คพ. 3

รายงานนี้เปนสวนหนึ่งของรายวิชา Operation System (04-720-302)


คณะวิชา วิศวกรรมศาสตร สาขาวิชา วิศวกรรมคอมพิวเตอร
มหาวิทยาลัยเทคโนโลยีราชมงคลลานนา เขตพื้นที่ภาคพายัพ เชียงใหม
ประจําภาคเรียนที่ 2 ปการศึกษา 2552
2

คํานํา

ในปจจุบันระบบปฏิบัติการไมไดมีจํากัดเพียงแคเครื่องคอมพิวเตอรเทานั้น แตยังรวมไปถึง
อุปกรณในหลายๆประเภทเชน โทรศัพทมือถือ ซึ่งกําลังไดรับความนิยมเพิ่มมากขึ้น โดยใน
โทรศัพทมือถือไดมีการพัฒนาความสามารถใหมๆเขาไปอยางมากมาย เชน กลองดิจิตอล ระบบ
Touchscreen นั่นเปนเหตุผลวาทําไม จึงไดมีการสรางระบบปฎิบัติการขึ้น นั่นก็เพราะเมื่อมี
อุปกรณและความสามารถที่เพิ่มมากขึ้น ก็จําเปนตองมีระบบเขามาบริหารจัดการเพื่อเพื่อ
ประสิทธิภาพในการใชงาน
อยางไรก็ตาม ระบบปฎิบัติการในโทรศัพทไดมีการพัฒนาขึ้นมาจากหลายๆบริษัท เชน
Symbian ,Windows Phone แตที่กําลังไดรับความสนใจมากคือ Google Android เพราะเปน
OpenSource ที่แจกจายได สามารถนําไปพัฒนาแกไขได บริษัทชั้นนําตางๆก็ไดเริ่มผลิตและ
จําหนายโทรศัพท Android กันมาบางแลว นั่นก็เพราะไมตองเสียคาลิขสิทธิ์และยังสามารถนํามา
พัฒนาใหอยูในรูปแบบที่ตองการไดดวย
ดังนั้น การศึกษาระบบ Android นั้นจึงเปนสิ่งสําคัญ เพื่อใหทราบถึงขอมูลตางๆที่เปน
ประโยชน ทั้งการนําไปพัฒนาหรือเพื่อรับทราบขาวสารใหทันตอเทคโนโลยีที่จะเกิดขึ้นตอไปใน
อนาคต
ผูจัดทํา
นาย ปยะณัฐ แยบคาย
นาย ศุภรักษ สมศรี
3

สารบัญ
หนา

Google Android
คํานํา 1
สารบัญ 2

รูจักกับ Android 4
ลักษณะพิเศษของ Android 6
คุณสมบัติทั่วไปของ Android 7
สถาปตยกรรมบน Android 8
- Application 8
- Application Framework 9
- Libraries 9
- Android Runtime 10
- Linux Kernel 10
Android เวอรชั่นตางๆ 13

เอกสารอางอิง 15
4

รูจักกับ Android

Android คือแพลตฟอรมใหมสําหรับโทรศัพทมือถือและอุปกรณพกพา ซึ่งประกอบดวย


ระบบปฏิบัติการ ไลบรารี เฟรมเวิรค และซอฟตแวรอื่นๆ ที่จําเปนในการพัฒนา มันเทียบเทากับ
Windows Mobile, Palm OS, Symbian, OpenMoko และ Maemo ของโนเกีย โดยจับตลาดมือ
ถือรุนใหมๆ ความสามารถสูงๆ (ซึ่งเกิดจากการกระตุนตลาดของ iPhone) ถึงจะเปนแพลตฟอรม
ใหม แต Android ก็ใชองคประกอบที่เปนโอเพนซอรสหลายอยาง เชน Linux Kernel, SSL,
OpenGL, FreeType, SQLite, WebKit และเขียนไลบรารี+เฟรมเวิรคของตัวเองเพิ่มเติม ซึ่ง
ทั้งหมดจะเปนโอเพนซอรส (ใช Apache License) Google Android พัฒนาโดยบริษัทกูเกิล และ
Open Handset Alliance ทางกูเกิลไดเปดใหนักพัฒนาสมามารถแกใขโคตตางๆ ดวยภาษาจาวา
และควบคุมอุปกรณผานทางชุด Java libraries ที่กูเกิลพัฒนาขึ้น แอนดรอยดไดเปนที่รูจักตอ
สาธารณชนเมื่อวันที่ 5 พฤศจิกายน พ.ศ. 2550 โดยทางกูเกิลไดประกาศกอตั้ง Open Handset
Alliance กลุมบริษัทฮารดแวร, ซอฟตแวร และการสื่อสาร 48 แหง ที่รวมมือกันเพื่อพัฒนา
มาตราฐานเปด สําหรับอุปกรณมือถือ ลิขสิทธิ์ของโคดแอนดรอยดนี้จะใชในลักษณะของซอฟตแวร
เสรี
5

รูปแสดงโทรศัพทมือถือ HTC Hero ที่ใช Android

จุดเดนของ Android นั้นอยูที่การออกแบบระบบปฏิบัติการมาใหมีความสามารถได


ใกลเคียงกับคอมพิวเตอรพกพาขนาดยอมที่ทํางานไดบนโทรศัพทมือถือ โดยยังคงเรื่องความ
คลองตัวในการใชงานที่คอนขางมาก นอกจากนี้ Google Android นั้นเปนแบบระบบเปด คือ เปด
โอกาสใหบริษัทและนักพัฒนาสามารถมีสวนรวมในการสรางระบบปฏิบัติการได ดวย และยังไม
จํากัดการใชงานเฉพาะบนโทรศัพทมือถือจากคายใดคายหนึ่ง นั่นทําใหเราจะไดเห็น Androidจาก
ผูผลิตโทรศัพทมือถือเกือบทุกราย ตางจาก Apple iPhone หรือ BlackBerry ที่ใชระบบปด ทําใหมี
โทรศัพทมือถือออกมาจากคายใดคายหนึ่งเพียงคายเดียว

รูปแสดง Android Emulator ในหนา home screen. ซึ่งอยูในชุด SDK


6

ลักษณะพิเศษของ Android
1. Open
Android SDK เปดโอกาสใหนักพัฒนาสามารถเขาถึง Core Function ในการใชงานโทรศัพทได
อยางเต็มรูปแบบเชน การโทรออก, สง SMS, หรือใชงานกลอง Android นั้น Run บน Virtual
Machine ที่มีชื่อวา Dalvik สวน runtime จริง ๆ ก็คือ Linux Kernel ที่สําคัญ Android เปน Open
Source ซึ่งอาจจะทําใหเกิดความเปลี่ยนแปลงใน Technology ของโทรศัพทมือถือขึ้นได
2. All applications are created equal
จากเหตุผลขางตนทําให Core Application ของโทรศัพท หรือพวก 3rd Party App จะสามารถใช
งานไดไมตางกัน เนื่องจาก SDK ที่ 'Open' ใหเขียนโปรแกรมเรียกการทํางาน Core Function ได
ในมุมมอง User ก็จะได ผลประโยชนมากขึ้น ยกตัวอยางเชน User สามารถใช 3rd Party
Application ในการ call แต Application นั้นมี Interface สวยงาม สามารถเลือก wallpaper ได
ตามใจชอบได ซึ่งตางจาก Core Application ที่อาจจะซ้ําซากจําเจ นาเบื่อ เปนตน
3. Breaking down application boundaries
Android ไดทลายกําแพงในการพัฒนา Software ซึ่งกอใหเกิดนวัตกรรมใหม ๆ ในการพัฒนา
Software เชน Developer สามารถเขียน Program ดึงรายชื่อ Contract ใน Web, MSN มารวม
กับใน Contract List ของโทรศัพทได หรือจะใชโทรศัพทในการดูตําแหนงที่เพื่อน ๆ อยูได
4. Fast & easy application development
Android ไดเตรียม lib & tool ในการพัฒนา Application ไวอยางมากมายยกตัวอยางเชน
การ Connect กับอีกเครื่องนึงแบบ peer-to-peer ซึ่งสิ่งตาง ๆ เหลานี้ทําใหการพัฒนา
Application บน Android สามารถทําไดงายและรวดเร็ว
7

คุณสมบัตทิ ั่วไปของ Android


ประเภท : Free and open source software
แพลตฟอรมที่สนับสนุน :
- ARM (Advanced RISC Machine) เปน หนวยประมวลผล 32 bit แบบ RISC ถูกนําไปใชบน
อุปกรณพกพาเชน โทรศัพทมือถือ PDA SmartPhone ผลิตโดย ARM Limited
- MIPS (Microprocessor without Interlocked Pipeline Stages) เปน หนวยประมวลผล 32 bit
แบบ RISC ผลิตโดย MIPS Computer Systems (ปจจุบันคือ MIPS Technologies)
- Power Architecture เปน หนวยประมวลผล 32 bit แบบ RISC ผลิตรวมโดย IBM, Freescale,
AMCC, Tundra และ P.A. Semi ซึ่งเปนผูผลิต PowerPC
- x86 เปน หนวยประมวลผล 32 bit แบบ CISC เปนสถาปตยกรรมที่ไดรับความนิยมมากที่สุดใน
ตลาดคอมพิวเตอรเดสกท็อป,โนตบุคและเซิรฟเวอรขนาดเล็ก ซึ่งก็คือ CPU จาก Intel, AMD, VIA
และอื่นๆ
เว็บบราวเซอร :ใช WebKit application framework. ซึ่งเปน OpenSource
การแสดงผล : ใชงานระบบ VGA, 2D graphics library สวน 3D graphic Library ใช OpenGL ES
1.0
การจัดเก็บขอมูล : SQLite สําหรับเก็บขอมูล
การสนับสนุน Java : Software จะเขียนดวยภาษา Java และถูกคอมไพลดวย Dalvik virtual machine
ระบบ Media : รองรับไฟล เพลง, วิดิโอ, หรือ ภาพนิ่ง เชน H.263, H.264 (ใน 3GP หรือ MP4
container), MPEG-4 SP, AMR, AMR-WB (ใน 3GP container), AAC, HE-AAC (ใน MP4 หรือ
3GP container), MP3, MIDI, OGG Vorbis, WAV, JPEG, PNG, GIF, BMP
การเชื่อมตอ : รองรับระบบ GSM/EDGE, CDMA, EV-DO, UMTS, Bluetooth, และ Wi-Fi.
ขอความ : รองรับ SMS และ MMS และระบบอื่นๆที่เกี่ยวของกับการสงขอความ
Hardware อื่นๆที่สนับสนุน : กลองวิดีโอ,กลองภาพนิ่ง, Touchscreens,GPS,
accelerometers,magnetometers,accelerated 2D bitblits (with hardware
orientation,scaling,pixel format conversion) และ accelerated 3D graphics.
คุณสมบัติอื่นๆ : มีระบบ Device Emulator สําหรับนักพัฒนา ,Plugin สําหรับ Elipse IDE
8

สถาปตยกรรมของ Android
จากรูป Android จะประกอบดวย องคประกอบหลักอยู 5 สวน ดังนี้

รูปแสดงสถาปตยกรรม Android

1. ซอฟแวรทั่วไป (Applications)

อุปกรณพกพาที่ติดตั้ง Android จะมาพรอมโปรแกรมหลักที่ไวใชงานทั่วไป เชน โปรแกรม


รับสงอีเมล, SMS, ปฏิทิน, แผนที,่ Browser (ใช WebKit เปน Engine) เครื่องมือจัดการสมุด
โทรศัพท และโปรแกรมหลักอื่นๆ
9

2. เฟรมเวิรค (Application Framework)

นักพัฒนาสามารถพัฒนาโปรแกรมบน Android โดยใชภาษา Java ผานทาง API


(Application Programming Interface) โดยสามารถเขาถึงระบบและขอมูลตางๆ ที่อยูบน
Android ดังนี้
- Views ประกอบดวย UI ชนิดตางๆ ที่ใชในการพัฒนาโปรแกรม เชน lists, grids, text
boxes, buttons รวมไปถึง Event และเว็บบราวเซอร
- Content Provider โปรแกรมที่พฒ
ั นาบน Android จะสามารถสงขอมูลถึงกันผานทาง
Content Provider เชน เราสามารถพัฒนาโปรแกรมเพื่อไปดึงขอมูลรายชื่อที่อยูใน Contacts ได
- Resource Manager เปนตัวจัดการเรื่องรูปภาพ, Localized strings และขอมูลอื่นๆ ที่
นอกเหนือจาก Code ของโปรแกรม
- Activity Manager นักพัฒนาสามารถสราง Custom Alert และสงไปแสดงผลที่ Status
Bar โดยผาน Activity Manager
ทั้งหมดนั้นทําใหนักพัฒนาโปรแกรมมีสิทธิอยางเต็มที่ในการเขาถึง Application
Framework และทําใหสามารถใชประโยชนจากการประมวลผลและความสามารถอื่นๆ เพื่อสราง
Android Application ที่มีความหลากหลายมากขึ้นได
3. ชุดพัฒนา (Libraries)

Android Libraries ประกอบดวยชุดพัฒนาของ C/C++ อื่นๆ ที่สามารถใชงานผานทาง API


ของเฟรมเวิรคที่ Android ไดจัดไวให (API เปนภาษา Java)
- System C Library ไลบรารีมาตรฐานของ C (C system library) ปรับปรุงพิเศษสําหรับ
อุปกรณที่รันบน Linux
10

- Media Library โดย Android สรับสนุนการใชงานไฟลฟอรแมตตางๆ เชน MPEG4,


H.264, MP3, AAC, AMR, JPG และ JPG
- Surface Manager เปนตัวจัดการระบบแสดงผล และควบคุมบนจอภาพ
Libraries อื่นๆ เชน 3D Acceleration Library ที่ใชในการควบคุมอุปกรณที่มี
Accelerometer เปนตน
4. รันไทม (Android Runtime)

ถึงแมวาโปรแกรมบน Android จะพัฒนาโดยใชภาษา Java แต Google กลับไมเลือกที่ใช


Java Virtual Machine ของ Sun Microsystem ในการรันโปรแกรม แตกลับพัฒนา Dalvik Virtual Machine ที่
มีพื้นฐานจาก Apache Harmony ขึ้นมาใชเอง โดย Google อางวา Dalvik ไดรับการปรับปรุงในเรื่อง
Memory เพื่อใหเหมาะกับการใชงานบนโทรศัพทมือถือ และอนุญาติให VM หลายๆ ตัวรันพรอม
กันไดเพื่อใหโปรแกรมทํางานไดอยางมีประสิทธิภาพดียิ่งขึ้น
โปรแกรมที่ถูกพัฒนา เมื่อ Compile เปนไบโคด (.class) แลว จําเปนตองผานการแปลงให
เปนไฟล (.dex) ดวยตัวแปลง "dx" เพื่อให สามารถรันบน Dalvik Virtual Machie ได

5. ลินุกสเคอรแนล (Linux Kernel)

Android พัฒนาบน Linux Kernel 2.6 ซึ่งเปนสวนที่สําคัญของระบบ Android และเปน


แกนหลักของการทํางานทั้งหมด โดยภายในเคอรเนล จะประกอบไปดวยโมดูล (Module) ตางๆ
และบางครั้งเราอาจจะเรียกโมดูลเหลานี้วา ไดรเวอร (Driver) ซึ่งมีหนาที่เปนตัวกลางในการ
ติดตอกันระหวางแอพพลิเคชันหรือ ระบบปฏิบัติการกับอุปกรณฮารดแวรทั้งหมด ทั้งภายในและ
นอก อีกทั้งยังจัดการ ประสานงานกับระบบตางๆ เชนระบบความปลอดภัย (Security), ระบบการ
11

จัดการ Memory, ระบบการจัดการ process , ระบบเนตเวิรค (network stack) อยางมี


ประสิทธิภาพ ใน Linux Kernel ที่ใชใน Android จะประกอบไปดวย
- Display Driver
- Camera Driver
- Flash Memory Driver
- Binder (IPC) Driver
- Keypad Driver
- WiFi Driver
- Audio Driver
- Power management
จะสังเกตไดวาภายใน Kernel นั้นจะมี Driver ที่ใชในการควบคุมการทํางานของอุปกรณตางๆ โดย
ที่สามารถทํางานไดกับอุปกรณหลายรุน หลายผูผลิต
12

สําหรับ Linux Kernel ที่ใชเปนชนิด Monolithic Kernel

Monolithic Kernel เปนสถาปตยกรรมที่ระบบปฏิบัติการจะทํางานภายใน Kernel Space


(พื้นที่สงวนที่ใชรันคําสั่งของ Kernel มีไวเพื่อให Kernel สามารถทํางานไดอยางตอเนื่อง) และ
ทํางานบน Supervisor mode
Monolithic Kernel แตกตางจากสถาปตยกรรมอื่นๆ คือ Monolithic Kernel จะกําหนด
Virtual Interface ระดับสูงซึ่งสูงกวาอุปกรณคอมพิวเตอรกับ system calls (โปรแกรมยอยทํา
หนาที่ในการติดตอระหวางระบบปฏิบัติการกับการโปรแกรมของผูใชหรือกระบวนการที่เกิดขึ้น)
เพื่อใหใช Service ทั้งหมดของระบบปฏิบัติการ เชน Process Management(ระบบจัดการโพ
รเซส), Concurrency(ประมวลผลหลายๆงานไปไดพรอมกัน), Memory Management(ระบบ
จัดการหนวยความจํา) ดวยตัวเองและหนึ่งหรือหลายๆ ก็คือ Module
สถาปตยกรรม Monolithic Kernel ถูกใชใน Linux, Unix(BSD,Solaris,Slaxware),
DOS,Windows 9x-ME, MacOS 8.6
13

Android เวอรชั่นตางๆ

On 30 April 2009, the official 1.5 (Cupcake) update for Android was
released. There are several new features and UI updates included
in the 1.5 update:

 Ability to record and watch videos with the camcorder mode


 Uploading videos to YouTube and pictures to Picasa
1.5 (Cupcake) directly from the phone
 A new soft keyboard with an "Autocomplete" feature
 Ability to automatically connect to a Bluetooth headset
within a certain distance
 New widgets and folders that can populate the desktop
 Animations between screens
 Expanded ability of Copy and paste to include web pages

On 15 September 2009, the 1.6 (Donut) SDK was released.


Included in the update are:

 An improved Android Market experience.


 An integrated camera, camcorder, and gallery interface.
1.6 (Doughnut)  Gallery now enables users to select multiple photos for
deletion.
 Updated Voice Search, with faster response and deeper
integration with native applications, including the ability to
dial contacts.
 Updated search experience to allow searching bookmarks,
14

history, contacts, and the web from the home screen.


 Updated Technology support for CDMA/EVDO, 802.1x VPN,
Gestures, and a Text-to-speech engine
 Speed improvements for searching, the camera

On 26 October 2009 the 2.0 (Eclair) SDK was released. Among the
changes are:

 Optimized hardware speed


 "Car Home" app
 Support for more screen sizes and resolutions
 Revamped UI
 New browser UI
2.0 (Eclair)  New contact lists
 Better white/black ratio for backgrounds
 Improved Google Maps 3.1.2
 Microsoft Exchange support
 Built in flash support for Camera
 Digital Zoom
 Improved virtual keyboard
 Bluetooth 2.1
15

เอกสารอางอิง

ยินดีตอนรับสู ThaiAndroidClub.com
http://www.thaiandroidclub.com/

Thailand Android Community : สังคมชาว Android


http://www.siamandroid.com/forum/

DroidSans :: Thailand Android Developer Community


http://www.droidsans.com/

รูจักกับ Google Android


http://www.siamandroid.com/forum/index.php?topic=19.0

Android (operating system)


http://en.wikipedia.org/wiki/Android_%28operating_system%29

รูจักกับ Android
http://siamdepot.com/index.php?option=com_content&view=article&id=22:what-is-
android&catid=10:android-toturial&Itemid=90

You might also like