รายงาน Google Android - Know2pro.co.cc
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

รายงาน Google Android - Know2pro.co.cc

on

  • 3,937 views

รายงาน Google Android

รายงาน Google Android
เน้นโครงสร้า้งและสถาปัตยกรรมภายใน
- Know2pro.co.cc

Statistics

Views

Total Views
3,937
Views on SlideShare
3,937
Embed Views
0

Actions

Likes
1
Downloads
148
Comments
1

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • i can't download
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

รายงาน Google Android - Know2pro.co.cc Document Transcript

  • 1. 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