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

รายงาน Google Android - Know2pro.com

  • 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 AndroidSDK เปดโอกาสใหนักพัฒนาสามารถเขาถึง 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. เฟรมเวิรค (ApplicationFramework) นักพัฒนาสามารถพัฒนาโปรแกรมบน 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 AndroidCommunity : สังคมชาว 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