ආයුබෝවන් යාලුවනේ...
ඔයාලා හැමෝම මගේ Android in Sinhala පාඩම් මාලාවේ පළවෙනි කොටසට පිළිගන්නවා...ඔයාලාට YouTube තුලින් Android Development Tutorials විශාල ප්රමානයක් හොයාගන්න පුළුවන් වගේමProgrammingKnowledge, thenewboston ආදි වෙබ් අඩවි වලින් Android Development Tutorials ඉදිරිපත් කරලා තියන නිසා එම Videos හරහාද ඔබට Android Development ඉගන ගන්න පුළුවන්...නමුත් එම සියලුම Tutorials තියන්නේ ඉංග්රීසි භාෂාවෙන්...ඔයාගේ ඉංග්රීසි භාෂා දැනුම අඩුනම් සමහර අවස්ථා වලදී ඒවා තේරුම් ගැනීම අපහසු වෙන්න පුළුවන්...ඒ නිසයි සිංහල භාෂාවෙන් ඇති Android Development Tutorials මේ බ්ලොග් එක හරහා දෙන්න හිතුවේ...එහෙනම් යාලුවනේ අපි පාඩම පටන් ගමු...
Android කියන්නෙ Linux පාදක මෙහෙයුම් පද්ධතියක්.Android මෘදුකාංගය ආරම්භ කරලා තියන්නේ 2003 දී California Palo Alto වල.ඒ වගේම ස්මාර්ට් ජංගම දුරකථන සහ ටැබ්ලට් පරිගණක වැනි ටච් ස්කීර්න් ජංගම දුරකථන උපාංග සඳහා තමයි නිර්මාණය කරලා තියන්නේ.මිලියනයකටත් වඩා වැඩි Android Apps ප්රමාණයක් Android App Store එක තුල තියනවා.මෑත වසර 15 තුළ Android මෙහෙයුම් පද්ධතිය සහිත ස්මාර්ට් දුරකථන,කුඩා පරිගණක වෙත ගොඩක් වර්ධනය වෙලා තියනවා.
ඒ නිසා ජංගම දුරකථන වලට වගේම ටැබ්ලට් වලට තියෙන ලෝකයේ ජනප්රියම OS කියලා හැදින්වුවත් එකේ වරදක් නෑ.
Android බලවත් මෙහෙයුම් පද්ධතියක් නිසා එය ස්මාර්ට්ෆෝන් විශාල සංඛ්යාවක් සදහා සහාය දක්වනවා.මෙම applications පරිශීලකයින් සඳහා වඩාත් පහසුයි වගේම උසස්.Android මෘදුකාංගය භාවිතා කරන දෘඩාංග ARM(Advanced RISC Machine) ආකෘතිය මත තමයි පදනම් වෙන්නෙ.Android යනු open source මෙහෙයුම් පද්ධතියක් නිසා එය නොමිලේ ඕනෑම කෙනෙකුට භාවිතා කරන්න හැකියාව තියනවා.
ජාවා(Java) ක්රමලේඛන භාෂාවandroid developments සදහා සහයෝගය දක්වනවා.අනෙකුත් පැකේජ වල API සහය දක්වන්නෙ නැහැ(API ගැන මම ඉදිරිිිියට කරන පාඩමකින් කියලා දෙන්නම්).2008 දී android development kit (SDK) පළමු සංස්කරණය 1.0 නිකුත් කරන ලද අතර අලුත්ම updated version එක Android 9 Pie.පහළ link එකට ගියාම android version ගැන වැඩි විස්තර දැන ගන්න පුලුවන්..https://en.wikipedia.org/wiki/Android_version_history
Android Architecture:
android කියන්නේ මෙහෙයුම් පද්ධතියක්(Operating System) කියලා අපි දන්නවා.එහි තිබෙන software components කොටස් පහකට හා ප්රධාන ස්ථර හතරකට බෙදන්න පුලුවන්.
- Linux kernel
- Libraries
- Android runtime
- Application Framework
- Applications
Android Architecture
Linux kernel:
Android, ලිනක්ස් කර්නලයක් භාවිතා කරන අතර එය hardware drivers ගණනාවක් සඳහා පහසුකම් සපයයි.Software වලින් එන input සහ output requests කළමනාකරණය කරන්නෙ kernel එකෙන් නිසා එය මෙහෙයුම් පද්ධතියේ හදවත ලෙස හදුන්වන්න පුලුවන්.Kernel එක මගින් මූලික පද්ධති ක්රියාකාරීත්වයන්(basic system functionalities)ඒ කියන්නේ ක්රියාවලි කළමණාකරණය, මතක කළමනාකරණය සහ උපාංග කළමනාකරණය(camera, keypad, display ආදිය) සියලු දේ පාලනය කරනවා.
ඒ වගේම Networking සදහා ද Linux සැබැවින්ම හොඳයි.එය peripheral hardware වෙතට සම්බන්ධ කිරීම අවශ්ය වෙන්නෙත් නැහැ.Kernel මඟින් පරිශීලකයා සමඟ සෘජුවම සම්බන්ධ වෙන්නේ නැති වුවත් shell සහ අනෙකුත් programs සමඟ මෙන්ම පද්ධතියේ තියෙන hardware උපාංගයන් සමඟ interact කරනවා.
Libraries:
Linux kernel එකට ඉහළින් ඇති අතර, WebKit වැනි open source web browsers,library-libc ආදිය තිබෙනවා ඔබට බලාගන්න පුලුවන්.මෙම libraries යොදා ගන්නෙ audio සහ video play කරන්න වගේම record කරගන්න.SQLite යනු application data ගබඩා කිරීම සහ බෙදා ගැනීම සඳහා අවශ්ය වන database එකක්.
Android Runtime:
Android Runtime එක මගින් ප්රධාන සංරචකයක්(Key Component) වන Dalvik Virtual Machine(Dalvik VM) යනුවෙන් හදුන්වන Java Virtual Machine එක සපයනවා.එය android සඳහා විශේෂයෙන් design සහ optimize කරලා තියන්නෙ.. Android මෙහෙයුම් පද්ධතියේ Dalvik VM එක හදුන්වන්න පුලුවන් process virtual machine කියලා.ඒ වගේම එය android උපකරණ මත යෙදුම්(apps) ධාවනය කරන මෘදුකාංගයක්.
Java Language එකේ තියන මතක කළමනාකරණය(memory management) සහ බහු මාධ්ය(multithreading) වැනි ලිනක්ස් මූලික අංග Dalvik VM වල භාවිතා කරනවා.ඒ වගේම සියළුම android applications තමන්ගේම process එකක් සදහා Dalvik VM එක ක්රියාත්මක කරනවා.Dalvik VM එකෙන් execute කරන්නේ .dex ආකෘතියෙහි files.
Application framework:
Application framework layer එක මගින් windows manager, view system, package manager, resource manager වැනි යෙදුම්(applications) වලට ඉහළ මට්ටමේ සේවා සපයනවා.ඒ නිසා මෙම සේවාවන් application developers සඳහා ඔවුන්ගේ යෙදුම්වල භාවිතා කිරීමට ඉඩ ලබා දෙනවා.
Applications and Features:
ඔයාගේ සියලුම android යෙදුම් Android Architecture එකේ top layer එකට තමයි අයත් වෙන්නෙ.ඒ වගේම ඔයාගේ යෙදුම් සදහා coding සහ install කිරීම මෙම layer එක මත තමයි කරන්නේ.එවැනි යෙදුම්වලට උදාහරණ වන්නේ contacts, books, browsers, services ආදිය.සියළුම යෙදුම්(applications) එකිනෙකට වෙනස් කාර්යයන් කරන්නෙ.
Features:
- Headset layout
- Storage
- Connectivity: GSM/EDGE, IDEN, CDMA, Bluetooth, WI-FI, EDGE,3G,NFC, LTE,GPS.
- Messaging: SMS, MMS, C2DM (could to device messaging), GCM (Google could messaging)
- Multilanguage support
- Multi-touch
- Video calling
- Screen capture
- External storage
- Streaming media support
- Optimized graphics
Android Emulator:
Emulator කියන්නෙ android මෙහෙයුම් පද්ධතියේ නව යෙදුමක්.Emulator එක ඕනෑම physical උපකරණයක් භාවිතයෙන් තොරව android applications develop හා test කිරීමට භාවිතා කරන prototype එකක් කියලයි හඳුන්වන්නෙ.
android emulator සතුව දුරකථන ඇමතුම් හැර ජංගම උපාංගයක ඇති සියලුම දෘඩාංග හා මෘදුකාංග විශේෂාංග තියනවා.එය විවිධාකාරයේ navigation සහ control keys සපයනවා වගේම ඔයාගේ යෙදුම(app) display කිරීමට screen එකක් ද ලබා දෙනවා.මේ සදහා emulators, Android Virtual Device (AVD) භාවිතා කරයි.මෙම යෙදුම(application) ක්රියාත්මක වන විට, emulator එක මගින් අනෙක් යෙදුම් වලට උපකාර කිරීමට android platform සේවාවන් භාවිතා කරනවා.(උදා: access the network, play audio, video, store and retrieve the data, ආදිය)
Android භාවිතයෙන් ලැබෙන වාසි:
- Android යනු ලිනක්ස් මෙහෙයුම් පද්ධතියක් නිසා, එය ඕනෑම කෙනෙකුට දියුණු කළ හැකියි.
- Android යෙදුම් වෙත පහසුවෙන් ප්රවේශ විය හැක.
- එය සියළුම google සේවාවන්ට සහාය දක්වනවා.
- SMS සහ ඊමේල් හෝ නවතම යාවත්කාලීන කිරීම්(updates) පිළිබඳව මෙහෙයුම් පද්ධතියෙන් දැනුම් දෙනවා.(give some notifications)
- එය බහු කාර්යයන්(Multitasking) සඳහා සහය දක්වයි.
- අන්තර්ජාලය හුවමාරු කිරීම සඳහා රවුටරයක් ලෙස android phone භාවිතා කළ හැකිය.(Mobile Hotspot)
- එය 2D සහ 3D ග්රැෆික්ස්(graphics) සඳහා සහය දක්වනවා.
ඉතින් යාලුවනේ Android Introduction ගැන කතා කරන්න බොහෝ දේ තිබුණත් Android පිළිබද අවබෝධයක් ලබා ගැනීමට අත්යවශය දෙවල් මේ ටිකේ ඇති කියල හිතනවා.ආයෙත් අලුත් ලිපියකින් මුණගැහෙමු. සුබ දවසක් හැමොටම...
ref