Android แိုုแแ္แိုု แြဲ ့แ
แ္းแားแါแแဲ?
แီေแးแြแ္းแာ แိแ္แို ေแးแแ့္ေแးแกแ္แဲ့ ေแးแြแ္းแแုျแแ
္แแိုု แိแားแแ့္แဲ့แกแ်แ္แဲแွာแဲแါแแ္แါแแ္။ แာแိုု ့แဲแိုုေแာ့ แိုแ္แ Android developer แแ
္ေแာแ္ ျแแ
္แိုု ့ แ
ိแ္แူးแွိေแျแီแိုแแ္ေแာ့ แိုแ္แ
ီးแแ့္ျแแ္းแာ แกแီးแား แกแแားแိုแာေแာ့ แိแားแแ့္แแ္ แแုแ္แား။ Android Application แိုုေแးแားแแ့္ developer แแ
္ေแာแ္แာ แိုแ္ေแးแားแแ့္ Operating System แာ แแ္แို แြဲ ့แ
แ္းแแ္ေแာแ္แားแแဲ system แဲ ့แกแแ္းแกแ်แ္း ေแြแို ေแာแ္းแ
ြာ แားแแ္ แေแာေแါแ္ แားแွแာแွ်แ္ แိုแ္ေแးแားแแ့္ application ေแြแာ แแ္း OS ေแแแွာ ေแာแ္းแ
ြာ แกแုแ္แုแ္แွာแါ။
Android developer แแ
္ေแာแ္แกแြแ္ แแแ့္แို แกေแးแါแုုံး แกแ်แ္แေแာ့ API (Application Programming Interface) Level ျแแ
္แါแแ္။ แာแိုု ့แဲแိုုေแာ့ แိုแ့္ application แာ แแ္ แိแိแာေแြ (devices) แแ္ OS version แွာ แกแုแ္ แုแ္แแ္ แแုแ္แแ္ แိုแဲ့ แိแ
แฅแို แแ္แွแ္ แုုိแ္แ
ြแ္းแွိแဲ့ แกแแ့္ျแแ
္แိုု ့แါแဲ။ แฅแแာ แแ်ဳိแ Application ေแြแာ graphic แแ္ေแာแ္แွိแွ CPU แแแ္ေแာแ္ျแแ
္แွ OS version แ แแ္ေแာแ္แွแုုံးแိုု ့แแแ္ แแแူး แ
แာေแြแို แီแกแแ့္แွာ แแ္แွแ္แာ ျแแ
္แဲ့แกแြแ္ေแพแာแ့္แါ။
Android แာ Linux Kernel แိုု แกေျแแံေแးแားแားแဲ့ OS (Operating System) แแုုျแแ
္แแ္แိုုแာ ျแီးေแာ့ Open Source ျแแ
္แแ္แိုแာแိုု ျแီးแဲ့แဲ့ แกแိုုแ္းแွာ แแ္ျแแဲ့แါแแ္။ แါแိုု แာแกေแพแာแ္း ေแြေแพแာแ့္แ်ား Android แ Linux แกေแแ แกေျแแံแแแဲแိုုแဲ့ ေแးแြแ္း แแုု แြแ္แာแါแแ္။ Linux แာแဲ Free and Open Source ျแแ
္แါแแ္။ ျแီးေแာ့ Linux แ ေแါ့แါးแแ္။ แုုံျแဳံแွဳแွိแแ္။ Features ေแြแ
ုုံแแ္แွဳแွိแแ္။
Linux แာ แြแ္แ်ဳแာ hardware ေแာ္ေแာ္แ်ားแ်ားแွာ ( mobile แုုแ္းေแြ၊ tablet computers ေแြ network routers, televisions , vedio game consoles, desktop computer, mainframes แဲ ့super computer ေแြแกแိ) แกแြแ္แแူ ေแါแ္းแ
แ္ แกแုแ္ แုแ္แုုိแ္แ
ြแ္း แွိแါแแ္။ แီแို hardware แกေแာ္แ်ားแ်ားแွာ แกแြแ္แแူ ေแါแ္းแ
แ္ แกแုုแ္ แုုแ္แုိแ္แ
ြแ္းแွိแဲ့ OS แแုုแိုု Android แ แกေျแแံျแီး แแူแုုံးแ
ြဲแုုိแ္ျแแ္းแာ hardware แ်ားแိုု แกแိုုแ္းแกแာ แแုုแกแိแ်ဳံ ့แုုိแ္แဲ့แแိုု hardware แွแ့္ แแ္းแဲแ features แกေแာ္ แ်ားแ်ားแိုแแ္း แแ့္แြแ္းแ
แฅ္းแ
ားแိုု ့แแိုုแกแ္ေแာ့แါแူး။ แกားแုုံး แိျแီးแဲ့แกแုုိแ္း Linux แဲ ့Low Level แกแိုုแ္း แกေแာ္แกแ်ားแ်ားแိုု ေแါ့แါးแဲ့ C programming language code ေแြแဲ ့ေแးแားแားแဲ့แกแြแ္ Android แဲแ hardware device ေแြแဲ ့android application แိုု ့แာ แြแ္แူ แกแแ္ေျแแ
ြာ ေแါแ္းแ
แ္ แกแုแ္แုแ္แုုိแ္ ေแေแာ့แာแါแဲျแแ
္แါแแ္။ แါေแพแာแ့္ Android แာแဲ ေแါ့แါးแြแ္แแ္แဲ့ mobile OS แแုုแกျแแ
္ แแ္แแ္แာแုုိแ္ေแာ့แာแါแဲျแแ
္แါแแ္။
ေแာแ္ျแီး Linux แာ แုုံျแဳံေแးေแာแ္းแြแ္แဲ့ Operating System แိုแာ แแ္แူแွ แျแแ္းแုုိแ္แါแူး။ แူ ျแแ္แแ္း แာแဲ့แဲ့ แแိုုแ္းแာแ ေแြแိုုแพแแ့္แแ္ แူแแုု แแ္แแ္ေแแဲ့ แกေျแแกေแေแြแိုုแพแแ့္แแ္ แแ္ေแာแ္แိ แုုံျแံဳแွုု ေแးแုုိแ္แแဲแိုုแာ แိแုုိแ္แါแแ္။ ျแီးแာ့ application แแ
္แုแိုแแ
္แုု แแ္แွီျแီး แกแုแ္ แုแ္ျแแ္း แแွိแာေแพแာแ့္ application แแ
္แုုแေแ application แแ
္แုုแိုု ့แိုုးေแာแ္ျแီးေแာ့ แိုုแ္แိုုแ္แာแုုိแ္ေแာ แုုံျแံဳေแးแုုိแ္แာ ျแႆแာแ်ားแแ္း แกေแာ့แိုု แแ္းแွแ္းแြားแါแแ္။
Adroid แာ แာေแพแာแ့္ แီแိုု แုုံျแဳံေแးแုုိแ္แာ แกားแာแ်แ္ แ်ာแ
ြာแွိေแแဲ့ Linux Kernel แိုုแกေျแแံแแူแုုံးแ
ြဲ แแแဲแိုแာ ေแးแြแ္းေแာแ္ ေแးေแแ
แာแแိုုေแกာแ္แါแဲ။ แแแแ แ
แ္แแ္แာေแာแ္แွာ Linux Kernel developer แแฆးျแแ
္แဲ့ Rafael J.Wysocki แ mainline Linux wakeup events Framework แกแြแ္ patch แแုုแိုု แแ့္แြแ္းแဲ့แါแแ္။ Android devices แ်ားแဲ ့drivers ေแြแกแြแ္ေแာ့ แိแ္ေแာแ္းแဲ့ patch แแုုแဲေแ။ แแแแ แီแแ္แာแ ေแာแ္แွာေแာ့ Android แဲ ့MainLining Project แိုုแ
แแ္แဲ့ျแီး แแ္းแိုု ့แဲ ့ แแ္แြแ္แ်แ္แေแာ့ Adriod แဲ ့drivers แ်ား Patch แ်ား แဲ ့Features แ်ားแိုု Linux Kernel แဲแိုု Linux version 3.3 แွแ
ျแီး แแ့္แြแ္းแိုု ့แแ္แြแ္แဲ့แာျแแ
္แါแแ္။
Android แွာ Linux แဲ့แိုု ့แแ္ Mobile devices (ေแြแแားแုုိแ္ေแာ แพแိဳးแဲ့แိแိแာแ်ား) แ်ားแกแြแ္
แွแ္แฅာแ္ แိုုแ္းแုုိแ္แာ แိแ္းแ်ဳแ္แ
ီแံแုုိแ္ျแแ္း (Memory Management) : แแိုုแกแ္ေแာแกแ်ိแ္แြแ္ แแိုုแกแ္ေแာ แုုแ္แแ္းေแာแ္แာแ်ားแกားแွแ္းแแ္းျแแ္း၊ แกျแဲแแ္းแုုံးေแ့แွိေแာ applicaiton แ်ားแုုแ္แแ္းေแာแ္แာแ်ားแိုု แွแ္แားแားျแီး แွာေแြแုုแ္ေแာแ္แဲ့แกแါแွာ แွ်แ္ျแแ္แ
ြာ แฆးแ
ားေแးေแာ္ျแေแးแုုိแ္ျแแ္း แ
แဲ့แုแ္แแ္းေแာแ္แာေแြแာ แွแ္แฅာแ္แိုแ္းแုုแ္แာ แိแ္းแ်ဳแ္แ
ီแံแုုိแ္ျแแ္းแါแဲ။
แแၳแီแွ แ
ြแ္းแกแ္แแူแုုံးแ
ြဲแွဳแိုု แိแ္းแ်ဳแ္แ
ီแံแိုုแ္ျแแ္း (Power Management) : แแိုုแกแ္แဲ့แုုแ္แแ္းေแာแ္แာแ်ားแกား memory แွာ แแ္แွားျแแ္းแာแဲ memory แုုံးแ
ြဲแွဳ แแ္းแြားแဲ့แกแြแ္ แ
ြแ္းแกแ္แိုแို แုုံးแ
ြဲแာႏိုแ္ျแแ္း screen resolution แိုုแိแ္းแ်ဳแ္แ
ီแံႏိုแ္ျแแ္းေแพแာแ့္ แ
ြแ္းแกแ္แုုံးแ
ြဲႏိုแ္แ်ိแ္ แိုแိုေแာแ္းแြแ္แာျแแ္း แ
แแ့္ แแၳแီแွ แ
ြแ္းแกแ္แုုံးแ
ြဲแႈ แพแာแ်ိแ္แိုုျแแ့္แแ္ႏိုแ္แိုแ ေแးแြဲးแားแแ့္ Management tool แแုแါแဲ။
แြแ္แแ္แ်ိแ္แแ္แုုံးแ
ြဲแုုိแ္แဲ့ networking แ
แဲ့แ
ြแ္းแกแ္ျแแ့္ Features แ်ားแဲแါแแ္แါแแ္။ Android แာ GSM/EDGE, CDMA, IDEN, EV-DO, UMTS, Bluetooth, Wifi, LTE แွแ့္ Wimax แกแ
แွိแဲ့ แြแ္แแ္แ်ိแ္แแ္แႈ แแ္းแแာแ်ားแိုု แกေแာแ္แกแံ့ေแးแါแแ္။
แกျแား แ
ြแ္းแกแ္ျแแ့္ Features ေแြျแแ
္แဲ့ Handset Layouts ( graphic แုแ္แိုแ္းแိုแ္แ်ားแกแแ္ေျแေแ
แแ္)၊ Storage (data ေแြแုုံးแိုု ့แกแြแ္ ေแါ့แါးแဲ့ Relational database แกแ်ဳိးแ
ား ျแแ
္แဲ့ SQLite แ်ားแုုံးแ
ြဲแားျแแ္း)။ Multiple Language Support, Web Browser, JavaSupport , Multitasking,Multi touch, Screen capture ,Additional Hardware support, Media/Streaming Media support, Video calling แ
แဲ့ Features แ်ားแိုုแแွိแုုိแ္แါแแ္။
แแแ္ေแာ့ Android OS แိုု แกแႊာ แกแแ္แแ္แဲ့ ေแါแ္းแ
แ္แြဲ ့แ
แ္းแားแာျแแ
္แါแแ္။ ျแီးေแာ့ แแ္းแกแႊာ แแု แွแ့္ แแုแာแแ္း แแ္းျแားแ
ြာ แြဲျแား แแ္แแ္ေแျแแ္းแ်ဳိး แแုုแ္แဲ แแု ႏွแ့္ แแုေแါแ္းแ
แ္ แกแုုแ္ แုုแ္แพแแဲ့ แုံแ
ံแ်ဳိးျแแ
္แါแแ္။ แီေแกာแ္แ แုုံေแးแေแာ့ Android Operating System แို แแ္แိုုแกแႊာ แกแแ့္แแ့္แဲ ့ แြဲ ့แ
แ္းแားแแဲ แိုုแာแိုုျแแแဲ့แုံ ( Android Stack) แါแဲ။
Android แာ แแ္းแဲ ့ แแแ့္ core system services ေแြျแแ
္แဲ့ แုုံျแဳံแွဳ (security)၊ แွแ္แฅာแ္แိုแ္းแိုแ္แာ แိแ္းแ်ဳแ္ แ
ီแံแแ္ ့แြဲแႈ (Memory management)၊ แ
ြแ္းแกแ္แုုံးแ
ြဲแွဳแိုုแ္แာ แ
ီแံแแ္ ့แြဲแွဳ (Power Management)၊ แုုแ္แแ္းေแာแ္แာ แ
ီแံแแ္ ့แြဲแႈ (process management)၊ แြแ္แแ္แ်ိแ္แแ္แွုုแုdแ္แာ (nework stack)၊ hardware แ်ား ႏိုးแพแြားแုแ္ေแာแ္แုုိ္แ္ေแ
แแ့္ (driver model) แ
แแ္แိုု ့แกแြแ္ Linux Kernel 2.6 แိုแ
แแ္ျแီး แแူแုုံးแ
ြဲแဲ့แါแแ္။ Apache 2.0 license ေแกာแ္แွာ ျแแ
္แါแแ္။ แกแแ္แွာေแာ္ျแแဲ့แแိုုแဲ linux แဲ ့low level แกแိုုแ္းแกေแာ္แ်ားแ်ားแာ C code ေแြျแแ
္แာေแพแာแ့္ hardware แ်ားแိုု ေแာแ္းแ
ြားแိแွိျแီး แြแ္แူေแါ့แါးแ
ြာ ေแါแ္းแ
แ္แกแုแ္แုแ္แုုိแ္แါแแ္။
Android แกแြแ္ applications แ်ား၊ แိုုแกแ္แဲ့ services แ်ား แแ္แီးေแးแား แဲ့แกแါแွာ แแ္း apps แ်ားแွแ့္ services แ်ားแာ Andorid OS แဲ ့Application Layer แွာ แกแုုแ္ แုုแ္แါแแ္။ Android แာแแ္แกแုုံးျแဳแူ(end user)แာ แီ Application Layer ေแแแွ apps แ်ား၊ services แ်ားแိုုแာ แกแုုံးျแဳแွာแါ။ ေแกာแ္แ layers ေแြแိုု แူแိုု ့แแိแားแိแွာแแုုแ္แါแူး။
แฅแแာ แ်ေแာ္แိုု ့ Contact Book application แแုုေแးแားแแ္แိုုแါေแာ့แ်ာ။ แกแုုံးျแဳแူแ contact แกแแ
္แแ္แီးျแแ္း၊ แ်แ္ျแแ္း၊ ျแแ္แแ္ျแแ္း၊ แွာေแြျแแ္းแ
แာေแြแဲ แူแိုု ့แกแုုံးျแဳแွာแါ။ แီေแแာแွာ แိแแွာแ Andorid Application layers ေแแแ apps & services แ်ားแာ ေแกာแ္แ layers ေแြแဲ ့แแ္ႏြแ္ แกแုုแ္แုုแ္ေแာแ္แแ္แိုုแာแိုု แိแားแแွာแါ။ แกแแ္ေแာ္ျแแါ contact app ေแးแားแဲ့แกแါ ေแแာေแြแိแ္းแိုု ့แกแြแ္ SQLite แိုု libraries ေแြ แ
แဲ့ libraries ေแြแกแုုံးျแဳแแွာแါ။ แိုုแိုုแ်แ္แာแ applcation layer แွာေแးแားแแ္ applications ေแြแာ Native Libraries ေแြแို แกแုုံးျแဳေแးแားแแ္။ แแ္းแိုု ့แိုုแกแ္แဲ့ layers ေแြแဲ ့แ်ိแ္แแ္แกแုုแ္แုုแ္แแ္แိုแာแိုแိေแ
แ်แ္แာแါ။
แแ္း Native Libraries ေแြแာ C/C++ แိုု programming แဲ ့ေแးแားแားျแီး open source ျแแ
္แဲ့แกแြแ္ แแ္แူแแိုု แိแွိแုုိแ္ေแ့แာแုုိแ္แဲ့แกျแแ္ แแူแုုံးแ
ြဲျแแ္แแ္แုုိแ္แြแ့္แွိแါแแ္။ แီแกေแพแာแ္းေแြแို แกแแ္แกแိုแ္းแွာေျแာแพแားแဲ့ျแီးျแแ
္แါแแ္။
SQLite :application แกားแုုံးแกแြแ္ ေแါ့แါးျแီး แ
ြแ္းแกแ္ျแแ့္แားแဲ့ Relational Database Engine แแွိแုုိแ္แါแแ္။ Features ေแာ္ေแာ္แ်ားแ်ား แ
ုံแแ္แ
ြာ แါแွိแဲ့ SQL Database แกแ်ိဳးแกแ
ားแါ။
Surface Manager
WebKit- modern web browser engine แแ်ဳိးแါ။ Safari ၊ Chrome ႏွแ့္ แกျแား browser แ်ားแြแ္แုုံးแားေแာ web rendering engine แ်ဳိးျแแ
္แါแแ္။
Open GL -3D graphic libraries แ်ားแါ။ Open GL ES 1.0 APIs แိုုแกေျแแံแားแာแါ။
FreeType-bitmap and vector font rendering
Surface Manager- Application ေแါแ္းแ
ုုံแ แ แแ္ျแแ္ แ แแ္ျแแ္ แกแႊာแ်ားแกแแ္ေျแေျแ ေแါแ္းแ
แ္ แกแုုแ္แုုแ္แုုိแ္แိုု ့၊ แแ္แုုိแ္แာ subsystem ေแြแกแိ display access แို แ
ီแံแแ္ ့แြဲแုုိแ္แဲ့ libraries ျแแ
္แแ္။
Media libraries แ်ားแွာแဲ แူแုုံးแ်ားแဲ့ แုုแ္แုံ၊ แกแံ၊ แုုแ္แွแ္ แိုုแ္ေแြแဲ ့format ေแြျแแ
္แဲ့ ( MPEG4, 3GP, MP3, JPG, PNG แ
แဲ့ แိုုแ္แกแ်ဳိးแ
ားแ်ား ေแာแ့္แံ့แဲ့ libraries แ်ားျแแ
္แแ္။
SSL -Secure Socket Layer แုုံျแဳံแႈแုိแ္แာ libraries แ်ား ျแแ
္แแ္။
Libc - แိုုแာแေแာ့ System C libraries แ်ားျแแ
္แါแแ္။
แกแแ္ေแာ္ျแแါ libraries แ်ားแိုု แแိုုแกแွိแုုိแ္း แုုိแ္แိုုแ္แกแုုံးแ်แုုိแ္แါแแ္။ แါေแแแ့္แแ်ဳိ ့ mobile แိแိแာ แုုแ္แုုแ္แူแ်ားแ แိแိแိုု ့แုုแ္แုုแ္แแ့္ hardware แ်ားแွแ့္แိုုแ္แီေแ
แแ္ แ
ံแား C Library แ်ားแိုု ျแแ္แแ္ေแးแားျแီး แกแုုံးျแဳေแာ แူแြဲ แแ
္แ်ဳိး แกျแแ
္ Bionic แိုု แแ့္แြแ္း แုုံးแ
ြဲแါแแ္။ Bionic แိုု แုုံးแ
ြဲแแာ แกေแพแာแ္း แ แแ္ေแพแာแ့္แါ။
แแ္းแแာแกแိုု္แ္းแกแ moblie devices แ်ားแို แแ္แူแแกแแ္ေျแေแ
แแ္ ေแးแแ္ေแกာแ္ แုုแ္แုုแ္แแါแแ္။ mobile devices แ်ားแာแแ္း battery แွแ
ြแ္းแกแ္แိုု แแူแုုံးแ
ြဲေแแแဲ့แกแ်ိแ္ battery แ်ားแဲ ့แ
ြแ္းแกแ္แိုုေแာแ္แုုိแ္แွုု แိုแแ္း แ်แ္ျแแ္းแพแီး แိုုးแแ္ေแกာแ္แแုแ္แုုိแ္ေแးแဲ့แกแ်ိแ္แ်ဳိးแွာ แกแแ္แုုိแ္แုုံး แกแแ္ေျแေแ
แแ္ แแ္းแိုု ့แกแြแ္ แแ္แြแ္ျแီး Bionic แိုုแแ့္แြแ္းแားแါแแ္။
แြแ့္ျแဳแွုု - แแ္းแိုု ျแဳျแแ္แူแာแုုံးแိုแူแ်ားแกแြแ္ แกแแ္ေျแေแာ license แ်ဳိးแွိျแแ္း แိုု ့ေแพแာแ့္ Bionic แိုုแแ့္แแြแ္းแားแါแแ္။
Android Run time แိုေแာ့ JVM แဲ ့ แกแแ္းแแ္ ႏႈိแ္းแွแฅ္แแ္ျแแိုแာေแพแာแ့္ ေแာแ္แแိုแ္းแွ ေแးแားแါေแာ့แแ္။