Weitere ähnliche Inhalte Ähnlich wie รายงาน Google Android - Know2pro.com (20) Mehr von Know Mastikate (20) รายงาน Google Android - Know2pro.com1. 1
รายงาน
เรื่อง Google Android
เสนอ
อาจารย ธนิต เกตุแกว
จัดทําโดย
นาย ปยะณัฐ แยบคาย รหัส 50523206013-5
นาย ศุภรักษ สมศรี รหัส 50523206025-9
วศ.บ.คพ. 3
รายงานนี้เปนสวนหนึ่งของรายวิชา Operation System (04-720-302)
คณะวิชา วิศวกรรมศาสตร สาขาวิชา วิศวกรรมคอมพิวเตอร
มหาวิทยาลัยเทคโนโลยีราชมงคลลานนา เขตพื้นที่ภาคพายัพ เชียงใหม
ประจําภาคเรียนที่ 2 ปการศึกษา 2552
2. 2
คํานํา
ในปจจุบันระบบปฏิบัติการไมไดมีจํากัดเพียงแคเครื่องคอมพิวเตอรเทานั้น แตยังรวมไปถึง
อุปกรณในหลายๆประเภทเชน โทรศัพทมือถือ ซึ่งกําลังไดรับความนิยมเพิ่มมากขึ้น โดยใน
โทรศัพทมือถือไดมีการพัฒนาความสามารถใหมๆเขาไปอยางมากมาย เชน กลองดิจิตอล ระบบ
Touchscreen นั่นเปนเหตุผลวาทําไม จึงไดมีการสรางระบบปฎิบัติการขึ้น นั่นก็เพราะเมื่อมี
อุปกรณและความสามารถที่เพิ่มมากขึ้น ก็จําเปนตองมีระบบเขามาบริหารจัดการเพื่อเพื่อ
ประสิทธิภาพในการใชงาน
อยางไรก็ตาม ระบบปฎิบัติการในโทรศัพทไดมีการพัฒนาขึ้นมาจากหลายๆบริษัท เชน
Symbian ,Windows Phone แตที่กําลังไดรับความสนใจมากคือ Google Android เพราะเปน
OpenSource ที่แจกจายได สามารถนําไปพัฒนาแกไขได บริษัทชั้นนําตางๆก็ไดเริ่มผลิตและ
จําหนายโทรศัพท Android กันมาบางแลว นั่นก็เพราะไมตองเสียคาลิขสิทธิ์และยังสามารถนํามา
พัฒนาใหอยูในรูปแบบที่ตองการไดดวย
ดังนั้น การศึกษาระบบ Android นั้นจึงเปนสิ่งสําคัญ เพื่อใหทราบถึงขอมูลตางๆที่เปน
ประโยชน ทั้งการนําไปพัฒนาหรือเพื่อรับทราบขาวสารใหทันตอเทคโนโลยีที่จะเกิดขึ้นตอไปใน
อนาคต
ผูจัดทํา
นาย ปยะณัฐ แยบคาย
นาย ศุภรักษ สมศรี
3. 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. 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. 5
รูปแสดงโทรศัพทมือถือ HTC Hero ที่ใช Android
จุดเดนของ Android นั้นอยูที่การออกแบบระบบปฏิบัติการมาใหมีความสามารถได
ใกลเคียงกับคอมพิวเตอรพกพาขนาดยอมที่ทํางานไดบนโทรศัพทมือถือ โดยยังคงเรื่องความ
คลองตัวในการใชงานที่คอนขางมาก นอกจากนี้ Google Android นั้นเปนแบบระบบเปด คือ เปด
โอกาสใหบริษัทและนักพัฒนาสามารถมีสวนรวมในการสรางระบบปฏิบัติการได ดวย และยังไม
จํากัดการใชงานเฉพาะบนโทรศัพทมือถือจากคายใดคายหนึ่ง นั่นทําใหเราจะไดเห็น Androidจาก
ผูผลิตโทรศัพทมือถือเกือบทุกราย ตางจาก Apple iPhone หรือ BlackBerry ที่ใชระบบปด ทําใหมี
โทรศัพทมือถือออกมาจากคายใดคายหนึ่งเพียงคายเดียว
รูปแสดง Android Emulator ในหนา home screen. ซึ่งอยูในชุด SDK
6. 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. 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. 8
สถาปตยกรรมของ Android
จากรูป Android จะประกอบดวย องคประกอบหลักอยู 5 สวน ดังนี้
รูปแสดงสถาปตยกรรม Android
1. ซอฟแวรทั่วไป (Applications)
อุปกรณพกพาที่ติดตั้ง Android จะมาพรอมโปรแกรมหลักที่ไวใชงานทั่วไป เชน โปรแกรม
รับสงอีเมล, SMS, ปฏิทิน, แผนที,่ Browser (ใช WebKit เปน Engine) เครื่องมือจัดการสมุด
โทรศัพท และโปรแกรมหลักอื่นๆ
9. 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. 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. 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. 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. 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. 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. 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