Introduction To Android Libraries For Beginners

ဒီ post ကေတာ့ android ကိုစေလ့လာေနတဲ့သူေတြအတြက္ android libraries ေတြအေၾကာင္း ေရးထားတာပါ။

ပထမဆံုးအေနနဲ႔ “what is libraries in programming?” ေပါ့။

In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development.  (definition from wikipedia).

Library တစ္ခုဆိုတာက resource ေတြစုထားတဲ့အရာတစ္ခုပဲ အဲ resource မွာေတာ့ အကုန္ပါနိုင္တယ္ေပါ့။ အခုက ကၽြန္ေတာ္တို႔ android နဲ႔ပက္သက္တာပဲ ေျပာမွာပါ။ android libraries ေတြလဲ ဒီလိုပါပဲ,  library တစ္ခုမွာ အကုန္ပါနိုင္တယ္ ေရးတဲ့သူ (သို႔) company ေတြက android development မွာအဆင္ေျပဖို႔ ကိုယ္လိုခ်င္သလိုရဖို႔ ေရးထားၾကတာ ျဖစ္ပါတယ္။

Android libraries ေတြကိုအလြယ္နည္း ၂ မ်ိဳးျပန္ခြဲပါမယ္။ Android support libraries, Android third party libraries ဆိုပီးေတာ့ ၂ မ်ိဳးပါ။ Android support libraries ေတြက package နဲ႔လာတာပါ။ Android Studio မွာ ပါလာပီးသားပါ မရွိရင္လဲ SDK Tools ကေန download လုပ္နိုင္ပါတယ္။ သူကေတာ့ Google ကေရးထားျပီး android project တစ္ခုေရးရင္ မရွိမျဖစ္လိုအပ္တဲ႔ အရာေတြပါပါတယ္။ သူတို႔က android api level အလိုက္ သံုးရမွာျဖစ္ပါတယ္။ Example, v4,v7,v8 စသျဖင့္ android project မွာအျမဲေတြ႔မွာပါ။ v4 support library ဆိုရင္ android api level 4 and higher အတြက္ အသံုးျပဳနိုင္ပါတယ္, v7 ဆိုရင္ api level 7 and higher စသျဖင့္ အဆင္ေျပေအာင္ လုပ္ေပးထားတာပါ။

 

သူတို႔ကို Google က ကၽြန္ေတာ္တို႔အတြက္ support ေပးထားတဲ႔ libraries ေတြလို႔ သိထားရင္ရပါျပီ။ အဲထဲမွာ ကၽြန္ေတာ္တို႔ေခၚသံုးေနတဲ႔ class ေတြအမ်ားၾကီးပါပါတယ္။ အေသးစိတ္ကို ေအာက္က android documentation မွာသြားဖတ္နိုင္ပါတယ္။

https://developer.android.com/topic/libraries/support-library/

ေနာက္ Library တစ္မ်ိဳးကေတာ့ Third party libraries ေတြပါ။

A thirdparty app is a software application that was developed by someone (a person, or a company) other than the original vendor of the platform that the app was created for. (answer form Quora).

အေပၚကစာအတိုင္းပါပဲ သူက third party app ကိုေျပာထားတာပါ, third party library လို႔ကၽြန္ေတာ္တို႔ ယူဆလို႔ရပါတယ္။ Third party library ဆိုတာက library တစ္ခုပါပဲ ၊ developer တစ္ေယာက္ (သို႔) company တစ္ခုက ေရးထားတဲ႔ library ပါ။ အရွင္းဆံုးေျပာရရင္ Google ကေရးတာမဟုတ္တဲ႔ library ေတြကိုေျပာတာပါ။ ဥပမာတစ္ခုေျပာရရင္ Retrofit library ပါ။ သူက HTTP client library ျဖစ္ျပီး Square ဆိုတဲ႔ open-source company တစ္ခုကေရးထားတာပါ။ ဒါ့အျပင္ Image library ျဖစ္တဲ႔ Glide တို႔ Picasso တို႔လဲ third party library ေတြပါ။

အသံုး၀င္တဲ့ နာမည္ႀကီး android libraries ေတြကို company တစ္ခုခုကေရးတာမ်ားပါတယ္။ တစ္ဦးခ်င္း ေရးထားတဲ႔ library ေတြလဲ အမ်ားႀကီးရွိပါတယ္။ Android development မွာ library ေကာင္းေကာင္းအသံုးျပဳနိုင္ရင္ app တစ္ခုက မခက္ေတာ့ပါဘူး ၊ ကိုယ့္ဟာကို အားမရလို႔ ကိုယ္ပိုင္ library ေရးခ်င္တယ္ဆိုလဲ ေရးလို႔ရပါတယ္။

Android sdk ကိုယ္တိုင္က open-source ျဖစ္တဲ႔အတြက္ တင္ထားတဲ႔ library  ေတြကလဲ အကုန္ open-source ေတြပါ။ ေတာ္ေတာ္မ်ားမ်ားက github မွာတင္ထားႀကပါတယ္။ ဘယ္လိုေတြေရးထားလဲ ဘာေတြသံုးထားလဲ အလြယ္တကူရွာျပီး code ေတြဖတ္နိုင္ပါတယ္။ စိတ္၀င္စားရင္ ေအာက္က link မွာ library တစ္ခုဘယ္လိုလုပ္ရမလဲ ၀င္ဖတ္နိုင္ပါတယ္။

https://developer.android.com/studio/projects/android-library

Libraries အေၾကာင္းေတြ Intro သိပီဆိုရင္ ကိုယ့္ project မွာဘယ္လို သံုးမလဲဆိုတာလဲ အေရးႀကီးဆံုးပါ။

Android Studio က grade build system ကေနအလုပ္လုပ္တာပါ ၊ အဲအထဲမွာ library ေတြကို dependencies အေနနဲ႔ build ဖို႔ လုပ္ေပးထားပါတယ္။ အဲဒါေႀကာင့္ ကၽြန္ေတာ္တို႔ အလြယ္အကူ library ေတြကို add လို႔ရတာပါ။

ကိုယ္ပိုင္ေရးထားတဲ႔ library ဆိုရင္ project မွာပဲထားပီး ေခၚသံုးရံုပါ။ သူမ်ားေရးထားတဲ႔ library ေတြဆိိုရင္ေတာ့ ကိုယ့္ project မွာသံုးနိုင္ဖို႔ gradle ကေန build ရမွာပါ။ ဥပမာ Facebook Messenger မွာသံုးတဲ႔ Chat head၊ ဒါက Facebook ရဲ႔ ကိုယ္ပိုင္ ေရးထားတဲ႔ library ေပါ့။ သူမ်ားကိုလဲ မ share ေပးထားပါဘူး၊ သူတို႔ရဲ႔႔ private library ပါ၊ ဘယ္လိုေရးထားလဲဆိုတာလဲ သိခြင့္မရွိပါဘူး။

Android library တိုင္းမွာ gradle မွာ build ဖို႔ dependency တစ္ခုရွိပါတယ္၊ သူ႔ရဲ႕ id ေပါ့။ အဲ dependency ကိုကိုယ့္ project ထဲထည့္ build လိုက္ရင္ library မွာရွိတဲ႔ class ေတြ resource ေတြအကုန္ကိုယ့္ project ကေနေခၚသံုးနိုင္ပါျပီ။

GitHub မွာတင္ထားတဲ႔ library ေတြမွာေတာ့ အသံုးျပဳပံုေတြ အကုန္ေရးထားႀကပါတယ္ ဘာအတြက္သံုးရမလဲဆိုတာ သိရင္ရပါျပီ။ android developer တစ္ေယာက္အတြက္ မသိမျဖစ္ library ေတြရွိပါတယ္၊ Google ကေနပဲ “android third party libraries every developers should know” ဆိုပီးရွာႀကည့္နိုင္ပါတယ္။

ေနာက္ဆံုးအေနနဲ႔ က်ေနာ္ link တစ္ခုျပခ်င္ပါတယ္၊ android libraries အကုန္နီးပါး၊ အသံုး၀င္တဲ႔ libraries အကုန္နီးပါး ရွာပီး တင္ေပးထားတဲ႔ github link ပါ။

https://github.com/thanhtoan1196/awesome-android-libraries

မရွင္းတာရွိလို႔ ေမးခ်င္ရင္ minthurazaw619@gmail.com ကိုေမးနို္င္ပါတယ္။

 

 

Share:

Leave a Reply