Useful Android Apps Collection


*****

Happy April Fools Day!!!

*****

Categories: Uncategorized

Facebook ကိုု Password သုုံးမ်ဳိးနဲ ့၀င္မယ္

August 10, 2012 Leave a comment

အားလုုံးမဂၤလာပါ ။ စာဖတ္သူတိုု ့၁၅ မိနစ္ခန္ ့အခ်ိန္ေပးယုုံျဖင့္ မိမိတိုု ့ေပးလိုုက္ရတဲ့အခ်ိန္ အလကား မကုုန္ဆုုံးေစဘဲ တခုုခုုရရွိေစမယ့္ စာတိုုေလးေတြေရးခ်င္တာနဲ ့ေရးလိုုက္ပါတယ္။ လူအမ်ားစုုေတာ့ သိျပီးသားျဖစ္ေကာင္းျဖစ္မယ္ထင္ပါတယ္။

Facebook အသုုံးျပဳသူ သူငယ္ခ်င္းတိုု ့ သိျပီး ၾကျပီလား။ က်ေနာ္တိုု ့ရဲ  ့Facebook Accountကိုု Password သုုံးမ်ဳိးနဲ ့၀င္ေရာက္ အသုံးျပဳလိုု ့ရတယ္ဆိုုတာ။ က်ေနာ္တိုု ့ သတ္မွတ္ထားတဲ့ Password ကိုု အဓိက စကား၀ွက္အျဖင့္ထားျပီး က်န္တာကတာ့ သူ ့ကိုုပဲ ေျပာင္းလဲ အသုုံးျပဳသြားတဲ့ပုုံစံမ်ိဳးပါ။ ရွင္းသြားေအာင္ ေအာက္က ဥပမာေလး ၾကည့္လိုုက္ရင္ ရွင္းသြားမယ္လိုု ့ထင္ပါတယ္။

ဥပမာ သူငယ္ခ်င္းရဲ  ့Facebook password က  afcx#Eqwe ဆိုုပါစိုု ့။ ဒါက ကိုုယ့္ရဲ  ့မူရင္း password ပါ။ သူနဲ ့ ၀င္လိုု ့ရသလိုု၊ ဒီ password ကိုုပဲ စာလုုံးအၾကီးကိုု အေသး ၊ အေသးကိုု အၾကီးျဖင့္ ေျပာင္းလဲအသုုံးျပဳကာ afcx#Eqwe  > AFCX#eQWE ၀င္လိုု ့ရပါတယ္။

ေနာက္တနည္းကေတာ့ သူငယ္ခ်င္းရဲ  ့Facebook password ရဲ  ့ပထမဆုုံး စာလုုံးမွာ စာလုုံးအေသးျဖင့္ (small case) ပါ၀င္ခဲ့ရင္ သူ ့ကိုု စာလုုံးအၾကီး (upper case) ျဖင့္ေျပာင္းကာ afcx#Eqwe  > Afcx#Eqwe အျဖင့္ပါ၀င္ေရာက္အသုုံးျပဳနုုိင္ပါတယ္။

ဒါဆိုု ဘာလိုု ့ Facebook ကအဲလိုု ခြင့္ျပဳထားသလဲ?

According to Facebook :

We accept three forms of the user’s password to help overcome the most common reasons that authentic logins are rejected. In addition to the original password, we also accept the password if a user inadvertently has caps lock enabled or their mobile device automatically capitalizes the first character of the password.

တကယ္လိုု ့မ်ား က်ေနာ္တုုိ ့ေတြ သတိမထားမိဘဲ CAPS Lock Keys ေတြကိုု ဖြင့္ထားမိမယ္ဆိုုရင္ အထက္ေဖာ္ျပပါ နည္းလမ္းေတြနဲ ့အသုုံးျပဳ၀င္ေရာက္လိုု ့ရေအာင္ပါ။

Categories: facebook Tags: ,

က်ေနာ္ သိေသာ Android အေၾကာင္း (5)

How to Create a Button on Android

ဒီတပတ္ေတာ့ Android ေပၚမွာ Button ေတြဘယ္လိုု တည္ေဆာက္တယ္ဆိုုတာေလ ကိုု tutorial ေလးတခုုျပခ်င္ပါတယ္။ ျပီးေတာ့ Android App  တခုုမွာပါ၀င္တဲ့ ဖုုိင္ေတြအေၾကာင္းလဲ အနည္းငယ္တင္ျပေဆြးေႏြးလိုုပါတယ္။

ပထမကေတာ့ Android installation လုုပ္ပုုံကိုု ေရးသားမလိုု ့ပါဘဲ။ ဒါေပမယ့္အရမ္းလဲမခက္ခဲတဲ့ အတြက္ မေရးသားျဖစ္ေတာ့တာပါ။ သင့္အေနနဲ ့Android SDK မသြင္းထားရေသးဘူးဆိုုရင္ေတာ့ http://developer.android.com/ သြားေရာက္ကာ မိမိအသုုံးျပဳေနတဲ့ OS အလိုုက္ SDK ကိုု download ျပဳလုုပ္ကာ သြင္းပါ။ SDK မသြင္းခင္ JDK ကိုု အရင္သြင္းပါ။ ဒီအဆင့္ေတြက one click install ေတြမိုု ့အဆင္ေျပမွာပါ။ က်ေနာ္တိုု ့အတြက္ ျပႆနာက အရမ္းေနွးတဲ့ ကြန္နက္ရွင္မွာ platform tools ေတြေဒါင္းရမယ့္ျပႆနာျဖစ္ေကာင္းျဖစ္နုုိင္ပါတယ္။

Android မွာ Button တခုုေရးဖိုု ့ဘာမွမခက္လွပါဘူး android.widget.Button ဆိုုတဲ့ class ေလးကိုု သုုံးျပီး သာမန္ button တခုုကိုု ေရးသားလိုုက္တာပါပဲ။  ခုုေရးသားမယ့္ post ေလးမွာေတာ့ button ေလးကိုု နွိပ္ရင္ web page တခုုသြားမယ္ ျပီးရင္ Android ရဲ ့browser ေပၚမွာ website ေလးျပသမယ္ေပါ့။

ပထမဦးဆုုံးအေနနဲ ့ Eclipse တြင္ File > New > Other > Android Project ကိုုေရြးပါ။ Eclipse ကိုုပထမဆုုံး run ခ်ိန္မွာသာ Android Project ကိုု ယခုနည္းနဲ ့ေခၚယူရေသာ္လည္း ေနာက္အေခါက္မ်ားမွာေတာ့ File > New > Android Project အျဖစ္ တိုုက္ရိုုက္ ေခၚယူနုုိင္ပါတယ္။

(၁) New Project Prompt box (Dialog windows) တြင္ ျဖည့္စြက္ရမွာေတြက အနည္းငယ္ ရွင္းျပလိုုပါတယ္။ ပထမဆုုံး အေနနွင့္ က်ေနာ္တိုု ့ Project Name ကိုုျဖည့္စြက္ရမွာျဖစ္ပါတယ္။ ဒီလိုု ပေရာဂ်က္ နာမည္ကိုု သတ္မွတ္ရာမွာ ကြက္လပ္မျခားဘဲ (space မပါ၀င္ပဲ) စကားလုုံး တစ္လုုံးတည္းျဖစ္ေအာင္ ေပးရပါမယ္။ အေကာင္းဆုုံးကေတာ့ CamelCase Naming system ပဲျဖစ္ပါတယ္။ (CamelCase ဆိုုတာကေတာ့ iPad ၊ iPhone  ၊ MacDonald တိုု ့လိုု ့တစ္လုုံးနွင့္ တလုုံးၾကား space ကြက္လပ္မ်ား ပါ၀င္ျခင္းမရွိပဲ စကာလုုံး တစ္လုုံးတည္းအျဖင့္ ေရးသားတဲ့ပုုံစံကိုု ဆိုုလိုုျခင္းျဖစ္ပါတယ္) ဒီလိုု ေရးသား နာမည္ေပးရာတြင္ သက္ဆုုိင္၇ာ ပေရာဂ်က္နွင့္လိုုက္ဖတ္ဖိုု ့ေတာ့လိုုပါသည္။ ယခုု က်ေနာ္တိုု ့ပေရာဂ်က္သည္ button တခုုစမ္းသပ္တဲ့ ပေရာဂ်က္ျဖစ္တဲ့အတြက္ ButtonTutorial ဆိုုျပီ meaningful ျဖစ္ေသာ နာမည္မ်ဳိးေပးသင့္ပါတယ္။ Project Name သည္ Eclipse ၏ တည္ေဆာက္မွဳ Eclipse construct ျဖစ္သည္။  Eclipse သည္ အရာအားလုုံးကိုု project မ်ားအျဖစ္ သီးျခားစီခြဲထုုတ္ စုုစည္းထားသည္။

Image

Read more…

Categories: Uncategorized

ကၽြန္ေတာ္သိေသာ Android အေၾကာင္း (၄)

ပထမေတာ့ က်ေနာ္ Android SDK & Java SDK installation လုုပ္ပုုံ နဲ ့Hello World Program တခုုေရးျပီး မိတ္ဆက္ မလိုု ့ပါပဲ။ ဒါေပမယ့္ Android အေၾကာင္းကိုု ပိုုျပီးနက္နက္နဲနဲသိေစခ်င္တာနဲ ့ဒါေလးေရးျဖစ္သြားတာပါ။
ယခုုအပိုုင္းမွာ Activities ေတြအေၾကာင္းကိုု ေျပာခ်င္ပါတယ္။ ၄င္းဟာ ဘယ္ေလာက္အေရးၾကီးေၾကာင္း မေျပာလိုုေပမယ့္ ေလ့လာဖတ္ရႈ႔ရင္းနဲ ့Mobile device ေတြအတြက္ အသက္တခုုပဲဆိုုတာ သေဘာေပါက္လာမယ္ထင္ပါတယ္။

 

Activities ဆိုုတာဘာလဲ?
Activity ဆိုု Android Application တခုုရဲ ့component တခုုလိုု ့ေျပာလိုု ့ရပါတယ္။ အလြယ္ဆုုံးေျပာရရင္ အသုုံးျပဳသူ (user) ဟာ Application တခုုကိုုသုုံးေနတဲ့အခ်ိန္မွာ Screen ေပၚမွာေပၚေနတာ ျမင္ေနရတာကိုု Activity တခုုလိုု ့ေျပာလိုု ့ရပါတယ္။ ဥပမာ က်ေနာ္ကသူငယ္ခ်င္းတစ္ေယာက္ရဲ  ့ ဆက္သြယ္ရန္လိပ္စာ (Contact Address) တခုုကိုုေရးမွတ္ေနတယ္ဆိုုပါစိုု ့။ အဲဒီအခ်ိန္မွာ ျမင္ေနရတဲ့ screen ဟာ Activity တခုုပါ။ Application တခုုမွာ Activities ေတြအမ်ားၾကီးရွိနုုိင္ပါတယ္။ ျပီးေတာ့ က်ေနာ္တိုု ့ကလဲ Activities ေတြကိုု တခုုကေန တခုုကိုု  အျပန္အလွန္ ကူးေျပာင္းအသုုံးျပဳေနပါတယ္။ user နဲ ့လုုံး၀ interaction ရွိတဲ့သေဘာပါ။

Android Activity Life Cycle

ဒါကိုု လြယ္ကူတဲ့ ဥပမာ တခုုေပးရမယ္ဆိုုရင္ က်ေနာ္တိုု ့Website ၾကည့္ရႈ အသုုံးျပဳခ်င္းနဲ ့ ဥပမာျပနုုိင္ပါတယ္။ က်ေနာ္တုုိ ့website တခုုကိုု ၾကည့္ရႈ အသုုံးျပဳတဲ့အခါမွာ ၄င္းမွာ webpage ေတြအမ်ားၾကီးရွိတာ သတိထားမိမွာပါ။ ဒီ Webpage ေတြကိုု က်ေနာ္တိုု ့က activities  ေတြအျဖင့္ ျမင္ၾကည့္ရေအာင္လား။ ျပီးေတာ့ က်ေနာ္တိုု ့Webpage တခုုကေန တခုုကိုု ဟိုုသြားလိုုက္ ဒီသြားလိုုက္နဲ ့လွည့္ပတ္ၾကည့္ရႈၾကပါတယ္။ Website တခုုမွာ Home Page ရွိသလိုုပဲ က်ေနာ္တိုု ့ရဲ ့Android app တခုုမွာလဲ main activity ဆိုုတာရွိပါတယ္။ Main Activity ဟာ က်ေနာ္တိုု ့application ကိုု စတင္ launch လုုပ္လိုုက္တဲ့အခါ ေပၚလာတဲ့ screen ေပၚျမင္ရတဲ့ activity ပါပဲ။ Website ေတြမွာ Webpage အခ်င္းခ်င္း Links ျဖင့္ ခ်ိတ္ဆက္ညႊန္းတာသတိထားမိမွာပါ။ ဒီလိုုပါပဲ Android app ေတြမွာလဲ activity တခုုကေန တခုုကိုု ခ်ိတ္ဆက္ အလုုပ္လုုပ္ေနပါတယ္။ ဥပမာ က်ေနာ္က ဓါတ္ပုုံရုုိက္တဲ့ application ကိုုသုုံးေနတယ္ ရိုုက္ျပီးေတာ့ save လုုပ္တယ္။ ေနာက္ Edit လုုပ္ခ်င္ရေသးတယ္ အဲလိုု တခုုကေနတခုုကိုု ကူးေျပာင္းခ်ိတ္ဆက္ေနတာကိုုဆိုု လိုုခ်င္တာပါ။ ေနာက္ျပီး Website တခုုကေနျပီး အျခား website တခုုကိုု Link ခ်ိတ္ဆက္ျပီး ညႊန္းတာကိုုလဲ သတိျပဳမိမယ္ထင္ပါတယ္။ ဒီလိုုပါပဲ  Android app တခုုကေန တခုုကိုု ေျပာင္းလဲခ်ိတ္ဆက္ကာ ေခၚယူအသုုံးျပဳနုုိင္ပါတယ္။ က်ေနာ္ တိုု ့Facebook application တခုုကိုုသုုံးေနတယ္ဆိုု ပါစိုု ့။ က်ေနာ္တိုု ့ဓါတ္ပုုံတင္ခ်င္တယ္ဆိုု camera application ကိုုခ်ိတ္ဆက္ျပီး ခုုဏရိုုက္ထားတဲ့ပုုံကိုု တင္မလား ဒါမွမဟုုတ္ အသစ္ရိုုက္မလားဆိုုျပီး application တခုုကေနတခုုကိုု ေျပာင္းလဲ ခ်ိတ္ဆက္ကာ ေခၚယူအသုုံးျပဳပါတယ္။ Read more…
Categories: Uncategorized

က်ေနာ္ သိေသာ Android အေၾကာင္း (၃)

February 10, 2012 Leave a comment

အားလုုံး မဂၤလာပါလိုု ့ ဦးစြာ ႏွုုတ္ခြန္းဆက္ပါရေစ။ ယခုုအပိုုင္းမွာေတာ့ က်ေနာ္ Android Run Time မွာပါ၀င္တဲ့ Dalvik Virtual Machine  ရဲ ့ အလုုပ္လုုပ္ပုံကိုု အနည္းငယ္တင္ျပေဆြးေႏြးလိုုပါတယ္။

Dalvik VM ဆိုုတာဘာလဲ?

Dalvik VM ဆိုုတာ ၂၀၀၅ ခုုနွစ္ေလာက္မွာ Android mobile ကိရိယာမ်ားအတြက္ အထူးသီးသန္ ့ဒီဇိုုင္းထုုတ္ျပီး Google မွ Engineer ျဖစ္သူ Dan Bornstein ဦးေဆာင္ေသာ အဖြဲ ့ က တည္ေဆာက္ထားတဲ့ Virtual Machine ျဖစ္ပါတယ္။

Java Virtual Machine  ( JVM )

ဒီေန ရာမွာ က်ေနာ္ Java Virtual Machine ကိုု Android mobile devices မ်ားအတြက္ သီးသန္ ့အထူးထုုတ္လုုပ္ထားတဲ့ထုုတ္လုုပ္ထား Dalvik Virtual Machine နွင့္ အနည္းငယ္ နွဳိင္းယွဥ္ တင္ျပလိုုတာေၾကာင့္ JVM ကိုု ဦးစြာ ရွင္းလင္းတင္ျပပါရေစ။
ေအာက္က ပုုံကိုု တခ်က္ၾကည့္ေပးပါ။

သင္ၾကိဳက္နွစ္သက္ရာText Editor (ဥပမာ -Notepad လိုုမ်ဳိး ေရးသားျပင္ဆင္နုုိင္တဲ့ ပရိုုဂရမ္တစ္မ်ဳိး) မွာ က်ေနာ္တိုု ့ Java Program တခုုကိုု ေ၇းသားနုုိင္ပါတယ္။

example HelloWorld java program

public class HelloWorld{
public static void main (String[] args){
System.out.println(“Hello World”);
}
}

Read more…

Categories: Android, Java, Mobile

က်ေနာ္ သိေသာ Android အေၾကာင္း (၂)

February 1, 2012 Leave a comment

အရင္ က်ေနာ္သိေသာ Android အေၾကာင္း အပိုုင္းမွာ တုုန္းက နည္းပညာပိုုင္း ဆုုိင္ရာ အသုုံးနွုုန္းပိုုင္း အနည္းငယ္သာ ပါ၀င္ေအာင္ ေရးးသားခဲ့ျပီး မည္သူမဆိုု ဖတ္ရုုွ ့လိုု ့ရနုုိင္မယ့္ အေျခအေနမ်ဳိး တင္ျပခဲ့ပါတယ္။ ယခုု အပိုုင္း (၂) မွာေတာ့ နည္းပညာပိုုင္းဆုုိင္ရာ စကားလုုံးမ်ား အသုုံးနွဳန္းမ်ား အနည္းငယ္ပိုုမိုု ပါ၀င္လာမွာျဖစ္တယ္ဆိုုတာ ဦးစြာပထမ အသိေပးပါရေစ။ ယခုု အပိုုင္း (၂) မွာ Android ကိုု ဘယ္လိုု ဘယ္ပုုံဖြဲ ့စည္းထားလဲဆိုုတာကိုု က်ေနာ္သိသေလာက္ အတက္နုုိင္ဆုုံးတင္ျပ ေရးသားသြားမွာပါ။ လိုုအပ္ခ်က္ေတြရွိေနခဲ့ရင္ မွားယြင္းေနတာမ်ားရွိရင္လဲ စာဖတ္သူတိုု ့ရဲ ့အေတြ ့အၾကဳံကိုုလဲ ခ်က္ျခင္းေ၀မ်ွေပးဖိုု ့ေထာက္ျပေ၀ဖန္ေပးဖိုု ့ၾကိဳတင္ပန္ၾကားအပ္ပါတယ္။ ဒါမွ ပိုုျပီးမွန္ကန္ ေကာင္းမြန္တဲ့ အခ်က္အလက္ေတြလူအမ်ားဆီကိုုေရာက္နုုိင္မယ္လိုု ့ က်ေနာ္ထင္ပါတယ္။

Android ကိုုဘယ္လိုု ဖြဲ ့စည္းထားပါသလဲ?

ဒီေမးခြန္းဟာ သိပ္ကိုု ေမးသင့္ေမးအပ္တဲ့ ေမးခြန္းတခုုျဖစ္သလိုု သိထားသင့္တဲ့အခ်က္ထဲမွာလဲပါ၀င္ပါတယ္။ ဘာလိုု ့လဲဆိုုေတာ့ ကိုုယ္က Android developer တစ္ေယာက္ ျဖစ္ဖိုု ့ စိတ္ကူးရွိေနျပီဆိုုရင္ေတာ့ ကိုုယ္စီးမယ့္ျမင္းဟာ အထီးလား အမလားဆိုုတာေတာ့ သိထားသင့္တယ္ မဟုုတ္လား။ Android Application ကိုုေရးသားမယ့္ developer တစ္ေယာက္ဟာ ကိုုယ္ေရးသားမယ့္ Operating System ဟာ ဘယ္လိုု ဖြဲ ့စည္းတည္ေဆာက္ထားသလဲ system ရဲ ့အခင္းအက်င္း ေတြကိုု ေကာင္းစြာ နားလည္ သေဘာေပါက္ ထားမွသလ်ွင္ ကိုုယ္ေရးသားမည့္ application ေတြဟာ ၄င္း OS ေပၚမွာ ေကာင္းစြာ အလုုပ္လုုပ္မွာပါ။ Read more…

Categories: Android, Java, Linux, Mobile

How to install Cracked Apps on iOS 5

January 27, 2012 1 comment

If you want to install cracked applications to your iPad, iPod Touch or iPhone, you have to do jailbreak your devices first.

After jailbreaking your devices, you have to lunched Cydia. Then, find the Sources section  on the Manage Tab. Touch to Edit button in the top right hand corner of your iDevices screen.

Tab the Add Button in the top left corner of your iDevices screen and type the following source;

http://cydia.hackulo.us

AppSync

Read more…

Categories: iPad

How to Disable Ubuntu Login Sound

January 26, 2012 1 comment

Sometime, Ubuntu login sound makes us difficult to turn on our PC when we are in conference room, meeting room, class room and so on. Because all of the people will notice us, if our Ubuntu login sound will come out loudly. This tutorial post is intended to disable login sound on your Ubuntu. Here is how to disable your Ubuntu Login sound.
Open terminal, and copy and paste the following command to your terminal:

gksudo gedit /usr/share/gnome/autostart/libcanberra-login-sound.desktop


Go at the bottom of the file and set NoDisplay=false. Then, save this file. Open the Startup Applications . Deslect the Gone Login Sound in the following screenshot.

Categories: Ubuntu

က်ေနာ္ သိေသာ Android အေၾကာင္း

January 26, 2012 3 comments

What is Android?( Android ဆိုုတာ ဘာလဲ)

Android လိုု ့ေျပာလိုုက္တာနဲ ့က်ေနာ္တိုု ့တေတြမ်က္လုုံးထဲမွာ အစိမ္းေရာင္ စက္ရုုပ္ကေလးကတာ့ ျမင္ေယာင္ ေနမယ္ထင္တယ္။ ျမန္မာ mobile ဖုုန္းအသံုုးျပဳသူအမ်ားစုုကေတာ့ Android ဆိုုတဲ့နာမည္ကိုု တီးျမည့္ေခါက္မည့္ရွိျပီးသားျဖစ္မွာပါ။ အခုုမွ ဘာလိုု ့ ထေရးရလည္းဆိုုေတာ့ မသိေသးတဲ့သူေတြလဲ သိရေအာင္ က်ေနာ္သိထားတဲ့ Android အေၾကာင္းေလး အနည္းငယ္ကိုု ေ၀မ်ွတဲ့သေဘာေလာက္ပါပဲ။

androidlogo

တကယ္ေတာ့ Android ဆိုုတာ Linux Kernel ကိုုအေျခခံေရးသားထားတဲ့ Operating System တခုုျဖစ္ပါတယ္။ mobile ကိရိယာမ်ား ဖုုန္းမ်ားနဲ ့ tablet computer ေတြအတြက္ အဓိက ရည္ရြယ္ျပီး ထုုတ္လုုပ္ထားေသာ အသုုံးျပဴရလြယ္ကူတဲ့ Open source platform တခုုျဖစ္ပါတယ္။ Android ကုုမၼဏီကိုု ၂၀၀၃ ေအာက္တိုုဘာေလာက္က Andy Rubin ၊ Rich Miner ၊ Chris White ၊ Nick Sears တိုု ့တေတြ က US California မွာ တည္ေထာင္ခဲ့ ၾကပါတယ္။ mobile phone ေတြအတြက္ သူတိုု ့ေတြၾကိဳးပန္းေနရင္း Rubin တစ္ေယာက္ ေငြေၾကး အဆင္မေျပမွုုေတြ စတင္လာခဲ့ပါေတာ့တယ္။၂၀၀၅ ေလာက္မွာေတာ့ က်ေနာ္တိုု ့အားလုုံးသိျပီးသားျဖစ္တဲ့ နာမည္ၾကီး Google က Android Inc. ကိုု ၀ယ္ယူလိုုက္ပါေတာ့တယ္။ အဲဒီအခ်ိ္န္မွာ က်ေနာ္တိုု ့အားလုုံးက ေတာ့ Google ကေတာ့ Mobile ေလာကထဲ ၀င္လာေတာ့မယ္လိုု ့သုုံးသပ္ထင္ျမင္ ေနၾကတာေပါ့။ Google ဖုုန္းထြက္ေပၚ လာလိမ့္မယ္ ဆိုုျပီး ထင္ျမင္ခ်က္ေတြ ေပးျပီး ေမ်ွာ္လင့္ေနေပမယ့္ Google ဟာ တိတ္ဆိတ္ျငိမ္သက္စြာနဲ ့အသံတိတ္ေနခဲ့ပါတယ္။ အခ်ိန္ အေတာ္ၾကာ Google က ဘာထူးျခားမွဳမွ မလုုပ္ခဲ့ပါဘူး။

ဒါေပမယ့္ ၂၀၀၇ ခုုနွစ္ေလာက္မွာ Google က OHA (Open Handset Alliance ) အဖြဲ ့ကိုုစတင္ ဖြဲ ့စည္းတည္ေထာင္တယ္ဆိုုတာ ေၾကျငာ လိုုက္ပါတယ္။ တဆက္တည္း Android ကိုု Open Source လြတ္လပ္ေသာ မည္သူမဆိုု ရယူသုုံးစြဲနုုိင္ေသာ အရင္းျမစ္ (ပြင့္လင္း ရင္းျမစ္) အျဖစ္ တရား၀င္ေၾကျငာလိုုက္တဲ့အခ်ိန္မွာ အားလုုံး မ်က္ေသေသကုုန္ၾကရေလာက္ေအာင္ျဖစ္ခဲ့ရပါတယ္။ ဒီေနရာမွာ OHA အဖြဲ အေၾကာင္းအနည္းငယ္ ေ၀မ်ွရွင္းလင္းလိုုပါတယ္။

What is Open Handset Alliance (OHA)?

Open Handset Alliance အဖြဲ ့ၾကီးဟာ mobile ကိရိယာမ်ားအတြက္ open standard ေတြကိုု အေကာင္ထည္ေဖာ္ဖိုု ့ mobile ကိရိယာေတြထုုတ္လုုပ္တဲ့သူေတြ ေနာက္ mobile နက္၀က္ကြန္ယက္ ၀န္ေဆာင္မွဳေရာင္းခ်မွုုလုုပ္တဲ့သူေတြ နဲ ့mobile နွင့္ သက္ဆုုိင္တဲ့ အျခားသက္ဆုုိင္တဲ့အဖြဲ ့စည္းေတြ ပူးေပါင္းတည္ေထာင္ထားေသာ Non -Profit အဖြဲ ့ၾကီး တဖြဲ ့ျဖစ္ပါတယ္။ OHA က mobile users ေတြကိုု ပိုုမုုိေကာင္းမြန္တဲ့ Features ေတြ ေပးနုုိင္ဖိုု ့ တီထြင္ဆန္းသစ္မွဳေတြ ပိုုျပီး တိုုးတက္ ပြင့္လင္းလာဖိုု ့ေစ်းသက္သာတဲ့ mobile ဆက္သြယ္ေရးရရွိဖိုု ့ ရည္ရြယ္ ဦးတည္ပါတယ္။ Android ဟာ Google ကပဲ ပိုုင္ဆိုုင္တဲ့ အေနအထားတင္ မဟုုတ္ေတာ့ဘဲ OHA က ပိုုင္ဆုုိင္တဲ့အေျခအေနျဖစ္သြားတဲ့သေဘာေပါ့။ OHA အဖြဲ ့ၾကီးမွာ Google, Sony , HTC, Samsung, LG, T-Mobile , Nividia, Dell စတဲ့ ကုုမၺဏီၾကီးေတြပါ၀င္ပါတယ္။
OHA
ဒီေနရာမွာ အရင္တုုန္းကလိုု ကုုမၺဏီၾကီးေတြဟာ သက္ဆုုိင္ရာ နယ္ပယ္အလိုုက္ ရပ္တည္ခ်င္းမရွိေတာ့ပဲနယ္ပယ္စုုံမွာ ပါ၀င္လုုွပ္ရွားလာတာကိုုသတိျပဳရမွာပါ။ အရင္ကလိုု Google ဟာလည္း Search Engine နယ္ပယ္တင္မကေတာ့ပဲ mobile phone နယ္ပယ္ လူမွုုဆက္သြယ္ေရး နယ္ပယ္ေတြအထိ၀င္ေရာက္လုုပ္ကိုုင္လာတာကိုု သတိျပဳမိၾကမွာပါ။

Google က၂၀၀၇ ခုုနွစ္မွာ OHA ကိုုတည္ေထာင္ေၾကာင္းနွင့္ Android ကိုု Open Source ျဖစ္ေၾကာင္းေၾကျငာျပီးတဲ့ေနာက္ ၂၀၀၈ ခုုနွစ္မွာ Android SDK (Software Development Kit) version 1.0 ကိုု စတင္ျဖန္ ့ခ်ီလိုုက္ပါတယ္။ သိပ္ေတာင္ မၾကာလိုုက္ပါဘူး T-Moblie ဆက္သြယ္ေရး ၀န္ေဆာင္မွဳ ကုုမၺဏီက US မွာ HTC ကထုုတ္တဲ့ G1 mobile ဖုုန္းမွာ စတင္အသုုံးျပဳခဲ့ပါတယ္။

၂၀၀၉ -၂၀၁၀ ေလာက္မွာေတာ့ Android အသုုံးျပဳတဲ့ ဖုုန္းေတြ Tablet computer ေတြ device ေတြဟာ မွိဳလိုုေပါက္ေအာင္ ထြက္ေပၚလာခဲ့ပါေတာ့တယ္။ Android ဟာ Open Source ျဖစ္တာေၾကာင့္ အခ်ဳိ ့ေသာထုုတ္လုုပ္သူေတြဟာ မိမိတိုု ့လိုုအပ္ခ်က္အလိုုက္ျပင္ဆင္ထုုတ္လုုပ္ထားတဲ့ မူကြဲတဲ့ Version အသစ္ေတြ (Donut , Eclair , Cupcake ) ဟာလဲ အေတာ္မ်ားမ်ားထြက္ေပၚလာတယ္။ ခုုဆိုု Smart phone ေလာကထဲမွာ ထိပ္တန္းကိုု တိုုးထြက္လာခဲ့ျပီး ေခါင္းေဆာင္ဖိုု ့ေတာင္ ျဖစ္ေနျပီပဲ။ ေန ့စဥ္ Android User ေတြဟာလဲ တိုုးပြားလ်ွက္ရွိပါတယ္။

Android ဟာ developer ေတြအတြက္ေတာ့တကယ့္ကိုု ျပည့္စုုံေကာင္မြန္တဲ့ နတ္ဘုုရားသခင္တပါးလိုုပါပဲ။ လူသားေတြအတြက္ အၾကိဳးျပဳစက္ရုုပ္ေလး ေပါ့ဗ်ာ။က်ေနာ္တိုု ့ေတြ Android Touch Screen ဖုုန္းေတြကိုု ေစ်းသက္သက္ သာသာ အရည္ေသြးေကာင္းေကာင္းမြန္နဲ ့ သုုံးနုုိင္တာဟာ Open Souce ျဖစ္တာကလဲ တကယ့္ကိုု အေရးၾကီးတဲ့ အပိုုင္း တခုုပါ။ ပိုုျပီးေကာင္းမြန္ေအာင္ ဖန္တီးျပဳျပင္၇င္း ပိုုျပီးေကာင္းမြန္လာခဲ့တာပါပဲျဖစ္ပါတယ္။ ဒီထက္လဲ ပိုုေကာင္းလာၾကအုုန္းမွာပါ လူသားတိုု ့ရဲ တီထြင္ဖန္တီးနုုိင္မွဳကိုု ေဘာင္ေတြဖယ္ရွားေပးလိုုက္တာ လူသားေတြအတြက္ အၾကီးမားဆုုံးအေထာက္အပံ့ျဖစ္ေစတာ အားလုုံးသတိျပဳမိမွာပါ။ ဒါဟာ Open Source ျဖစ္တာေၾကာင့္ပဲမဟုုတ္ပါေလာ။ Android ဟာ ဘယ္သူမဆိုု ရယူသုုံးစြဲနုုိင္ တာ ျပဳျပင္နုုိင္တာတာ လြတ္လပ္စြာ ဆင့္ပြားအသုုံးျပဳနုုိင္တဲ့ မူပိုုင္ခြင့္ အမ်ဳိးစားထဲကပါ။ ဒီလိုု Open Source လုုပ္တဲ့ေနရမွာ တကယ့္ Meaching Level မွာအလုုပ္လုုပ္တဲ့ Low Level Linux module ေတြအထိ ေနာက္ Android သုုံး ကိရိယာ ဘယ္ကိရိယာေပၚမွာမဆိုု အလုုပ္လုုပ္တဲ့ code အစုအေ၀း code library ျဖစ္တဲ့ Native Library ေတြ Application Framework ေတြ အုုိး ေနာက္ဆုုံးအဆင့္ complete application ေတြထိေအာင္ မည္သူမဆိုု မည္သည့္ developer မဆိုု ရယူသုုံးဆြဲ နုုိင္တဲ့ Open Source ပဲျဖစ္ပါတယ္။ တခ်ဳိ ့သိပ္ျပီး ၀ါသနာၾကီးလြန္းတဲ့ developers ေတြဆိုု application lelvel ကေန Kernel အထိဆင္းကုုန္ၾကေတာ့တာပါပဲ။ ဒီလိုုေတြေၾကာင့္ developer တစ္ေယာက္ဘက္ကၾကည့္မယ္ဆိုုရင္ platform တခုုလုုံးရဲ ့ source ကိုုသိရွိနုုိင္မွေတာ့ Operating System တခုုလုုံးဘယ္လိုုတည္ေဆာက္ထားလဲဆိုုတာ လုုံး၀အေသးစိတ္နားလည္နုုိင္ပါတယ္။ ဒီေတာ့ သူ ့အတြက္ ေရးသား develop လုုပ္မယ့္ applications ေတြဟာ OS ေပၚမွာ ေကာင္းမြန္စြာအလုုပ္လုုပ္ျပီး စြမ္းရည္ျမင့္တဲ့ application တခုုအျဖစ္ရရွိေနနိုု္္င္မွာပဲေလ။ Handset ေတြ Devices ေတြထုုတ္လုုပ္တဲ့သူဘက္ၾကည့္မယ္ဆိုုရင္လဲ ကိုုယ္ထုုတ္လုုပ္မယ့္ Hadware devices ေတြနဲ ့ကိုုက္ညီမယ့္၊ customer ၇ဲ ့လိုုအပ္ခ်က္နဲ ့ကိုုက္ညီမယ့္ ကိုုယ္ပိုုင္ Android OS တခုုလိုုမ်ဳိးျဖစ္ေအာင္ ျပင္ဆင္ထုုတ္လုုပ္ ထည့္သြင္းနုုိင္ေနပါတယ္။

Android ရဲ ့တကယ့္ရည္ရြယ္ခ်က္ေတြကလဲ mobile user ေတြေစ်းသက္သာဖိုု ့ေနာက္ developer ေတြ ထုုပ္လုုပ္သူေတြ အဆင္ေျပေျပထုုတ္လုုပ္နိုု္ဖိုု ့ရည္ရြယ္ခဲ့တာပဲေလ။ ဒီလိုု Mobile ေလာကအတြက္ mobile devices ေတြအတြက္ ရည္ရြယ္တည္ေဆာက္ထားျခင္းျဖစ္သလိုု mobile devlce ေတြရဲ ့အားနည္ခ်က္ေတြျဖစ္တဲ့ battery life ၊ ေနာက္ RAM speed , processign speed ေတြကိုုပါထည့္သြင္းစဥ္းစားျပီးထုုတ္လုုပ္ခဲ့တာျဖစ္ပါတယ္။ mobile ကိရိယာအမ်ားစုုဟာ battery ရဲ ့ပါ၀ါနဲ ့ အလုုပ္လုုပ္ၾကတာ အားလုုံး သတိထားမိမယ္ထင္ပါတယ္။ ဘထၳရီသက္တန္းကိုု လည္း အရမ္းၾကီး ေကာင္းမြန္ ေအာင္ မလုုပ္နုုိင္ေသးတဲ့အေျခအေနမ်ဳိးမွာ ဘယ္လိုုလုုပ္ခ်င္းအားျဖင့္ battery ကိုုသက္သာေစနုုိင္မလဲ ေနာက္ Mobile ဆိုုတဲ့အတုုိင္း သယ္ရျပဳရလြယ္ကူေစဖိုု ့တဲ့ ရည္ရြယ္ခ်က္ကရွိေနျပန္ေတာ့ size ကိုုလဲ ေသးနုုိင္သမ်ွေသးေအာင္ လုုပ္ရျပန္တယ္ ဒီေတာ့ မွတ္ဥာဏ္ Memory ပိုုင္းမွာလဲ အကန့္ အသတ္ ေတြ ကရွိေနပါေသးတယ္။ ဒီလိုုအေျခအေနမ်ဳိးေတြကိုုပါထည့္သြင္းစဥ္းစားထားတဲ့ Android OS ဟာ device ရဲ ့ size အလိုုက္ screen size ၊ resolution ရုုပ္ထြက္္ျပင္းအား ေနာက္ အတြင္းပိုုင္း ပါ၀ါပိုုင္းဆိုုင္၇ာလုုပ္ေဆာင္မွဳ ေတြကိုု ကိုုလိုုသလိုုလိုုက္ေလ်ွာညီေထြမွုဳရွိေအာင္ ျပဳျပင္ေရးသားနုုိင္တဲ့ Bionic ကိုုထည့္သြင္းထားပါတယ္။ Bionic အေၾကာင္းကိုု ေနာက္ပိုုင္း ေရးသားမယ္ အပိုုင္းမ်ားမွာရွင္းလင္းတင္ျပေပးပါ့မယ္။

ေနာက္ျပီး က်ေနာ္တိုု ့အေနနဲ ့ စိတ္ပါ၀င္စားလာလိုု ့စမ္းသပ္ မယ္ဆိုုရင္ ေတာင္ Application developer တစ္ေယာက္အဖိုု ့Application တခုုကိုု လြယ္ကူလ်ွင္ျမန္စြာေရးသားနုုိင္ဖိုု ့ tools ေတြ Framework ေတြအားလုုံးရရွိပါ၀င္ေနပါတယ္။ေနာက္ဆုုံးဗ်ာ စတင္စမ္းသပ္ေရးသား ဖန္တီးဖိုု ့ Android Device ေတာင္ ၀ယ္ေနစရာမလိုုပဲ Android Software Developement Kit (SDK) ရွိလ်ွင္ကိုုျဖစ္ေနပါျပီ။ ဒီေတာ့ကိုု ေ၇းသားမယ့္စက္ေပၚမွာတင္စမ္းသက္နုုိင္တာေပါ့ဗ်ာ။ က်ေနာ္ေရးတာလဲနဲနဲ ရွည္သြားပါျပီ ။ လိုုအပ္တာမ်ားရွိရင္လဲ ေထာက္ျပသြားၾကပါအုုံး။ ေနာက္တပတ္မွပဲ ဆက္ေရးေတာ့မယ္ဗ်ာ။

Ref :wikipedia

Categories: Uncategorized

Pseudo Code ဆိုုတာဘာလဲ?

October 22, 2011 Leave a comment

Pseudo ကုုဒ္အေၾကာင္းခုုမွေရးလိုု ့ရယ္ေနမလားပဲ။ ဒါေပမယ့္ ညီမေလးတစ္ေယာက္က သူတက္ေနတဲ့ Diploma သင္တန္းမွာပါတဲ့ assignment လုုပ္ေတာ့ Pseudo ကုုဒ္ဆိုုတာ ဘာလဲ ေသခ်ာ မသိလိုု ့ေမးလာတာနဲ ့ဒါေလး ေရးျဖစ္သြားတာပါ။ မသိေသးတဲ့သူေတြလဲရွိေတာ့ က်ေနာ္သိတာေလး မ်ွေပးယုုံပါ။ လိုုအပ္တာေတြလည္းရွိမွာပါ လိုုအပ္တာေလးေတြလဲ မွတ္ခ်က္ေလးေရးသားေပးသြားပါအုုံး။

Pseudo Code ဆိုုတာ အသံထြက္အားျဖင့္ ဆူဒိုု ကုုဒ္လိုု ့ဖတ္ပါတယ္။ က်ေနာ္ ကြန္ပ်ဳတာ စေလ့လာခါစတုုန္းကေတာ့ ပဆူဒိုုကုုဒ္လိုု ့ဖတ္လိုု ့တတန္းလုုံးက ရယ္တာ ခံရဖူးပါတယ္။ လူေတြဟာ ကြန္ပ်ဳတာ ပရုုိဂရမ္ဆိုုတာ ကိုုအရင္သိဖုုိ ့လိုုပါလိမ့္မယ္။ ပရိုုဂရမ္ဆိုုတာ စနစ္တက်ေရးဖြဲ ့ထားတဲ့ အစီစဥ္တက် လုုပ္ေဆာင္ရန္ခိုုင္းေစခ်က္လိုု ့ပဲ အရုုိးရွင္းဆုုံးအဓိပၺါယ္ဖြင့္

ပါရေစ။ ဒီလိုု လူေတြက ကြန္ပ်ဳတာကိုု စနစ္တက် လုုပ္ေဆာင္ဖိုု ့အတြက္ ပရိုုဂရမ္ေတြေရးသားျပီး ခိုုင္းေစပါတယ္။ ကြန္ပ်ဳတာကလဲ လူေတြခိုုင္းတဲ့အတုုိင္းတေသြမတုုိင္းလိုုက္နာေဆာင္ရြက္ပါတယ္။ ဒါကိုု ကြန္ပ်ဳတာ ပရိုုဂရမ္းမင္းလိုု ့လူေတြေခၚၾကတာပါ။ ဒါကိုု ကြန္ပ်ဳတာ ေဆာ့၀ဲလ္ေရးတယ္လိုု ့လဲ ေခၚဆိုုၾကပါေသးတယ္။

အဲလိုု ေရးသားရာမွာ ကြန္ပ်ဳတာနဲ ့လူနဲ ့ဆက္သြယ္ဖိုု ့ဘာသာစကားတခုုလိုုလာပါတယ္။ အဲဒါကိုု  Computer Programming Language ကြန္ပ်ဳတာ ပရိုုဂရမ္မင္း  ဘာသာစကား ( ကြန္ပ်ဳတာ နွင့္လူ ဆက္သြယ္တဲ့ဘာသာစကားလိုု ့ပဲဆိုုပါေတာ့) လိုု ့ေခၚပါတယ္။ အဲလိုု ဆက္သြယ္ရာမွာ ဘာသာစကားေပါင္းမ်ားစြာရွိပါတယ္။ လူေတြမွာလဲ ဘာသာစကားေတြအမ်ားၾကီးရွိသလိုုေပါ့။ ဒီလိုုဆက္သြယ္ၾကတဲ့အခါမွာ လူေတြအတြက္ အခက္ခဲ အနည္းငယ္ရွိပါတယ္။ ဘာလိုု ့လဲဆိုုေတာ့ ကြန္ပ်ဳတာဟာ အေျခခံက်တဲ့ decimal ျဖစ္တဲ့ 0 , 1 နွစ္မ်ဳိးကိုုသာ သိတဲ့ ခက္တုုံးတုုံး မုုိ ့ပါပဲ။ အဲ ေတာ့ က်ေနာ္တိုု ့သူ ့ကိုု တခုုခုု ခုုိင္းဖိုု ့ဆိုုတဲ့ေနရာမွာ Machine Level အထိ လိုုက္မွတ္ေနဖိုု ့မျဖစ္နုုိင္ပါဘူး ဥပမာ A ဆိုုတဲ့ Character နဲ a ဆိုုတဲ့ character  ၾကားမွာေတာင္ တန္ဖိုု းမတူညီတဲ့ တန္ဖိုုးေတြရွိေနပါတယ္။ အဲေတာ့ ကြန္ပ်ဳတာကိုုခိုုင္းဖိုု ့လူေတြအတြက္ မွတ္သားရ အရမ္းခက္လာပါတယ္။ ဒီလိုုအခါမွာလူေတြဟာ ကြန္ပ်ဳတာနဲ ့လူၾကားထဲမွ နားလည္ဖိုု ့ဘာသာစကားေတြ တီထြင္ၾကပါတယ္။ လူနားလည္ေလာက္မယ့္ အရာမ်ားေတြေပါ့ 0  ေတြ  1 ေတြပဲမဟုုတ္ေတာ့ဘဲ လူေတြဖတ္လိုု ့ရတဲ ့text ေတြပါ၀င္လာခဲ့တယ္။ ဥပမာ Show () ဆိုုတဲ့ Method ေလးလိုု ေပါ့ ၾသ လူေတြနားလည္ျပီ Show ဆိုု ျပမယ္ဆိုုတာ ဒါေပမယ့္ ကြန္ပ်ဳတာကေတာ့ Show() ဆိုုတာကိုုနားလည္လိမ့္မယ္လိုု ့သင္ထင္သလား။ ဟုုတ္ပါတယ္ သူလုုံး၀နားမလည္ပါဘူး အဲဓိအခါ သူနားလည္ဖိုု ့ၾကားထဲက ဘာသာျပန္ေပးမယ့္ Translators ေတြ compilers ေတြ လိုုအပ္လာတာေပါ့။ အဲေတာ့လူက လူလိုုေျပာလာနုုိင္တယ္ဆိုုပါေတာ့။

ကဲဒီေနရာမွာ က်ေနာ္ ရွင္းျပလိုု တာက Pseudo Code  အေၾကာင္းပါ။ ကြန္ပ်ဳတာ ပရိုုဂရမ္ေတြ ေရးသားရာမွာလဲ လူေတြရဲ ့ဘာသာစကားလိုုပဲ ဘယ္လိုု ေရးသားရမယ့္ ဘာေတြမလုုပ္ရဘူးဆိုုတဲ့ သဒၵါ (grammar) ရွိသလိုု သူ ့မွလဲ Syntax ေတြရွိပါတယ္။ ျပသတဲ့အခါေတာ့ဘယ္လိုုေရး ဘာေတြမေရးရဘူး အစရွိသည္ျဖစ္ေပါ့။ ဥပမာ Java program ေလးတခုုမွာဆိုုပါေတာ့ တခုုခုုကိုု ရိုုက္ထုုတ္ျပခ်င္တဲ့အခါ

System.out.print (” Hello World!”);   လိုု ့ေရးေလ့ရွိပါတယ္။ အဲဒိမွာ System က S ကုုိအၾကီးနဲ ့ေရးရမယ္ ျပီးရင္ ကိုုျပခ်င္တဲ့ message  ကိုု “” quote နဲ ့ျပမယ္ statement အဆုုံးသတ္မွာ semicolon (;) နဲ ့ပိတ္ရမယ္ ဒါေတြက language တခုုရဲ ့ syntax ပါ။ ဒီလိုုမွန္ေအာင္ေရးသားရပါတယ္။

ဒါေပမယ့္ Pseudo code မွာ အဲလိုုမ်ဳိး ဘယ္လိုုေရးရမယ္ဆိုုတဲ့ တကယ့္ ကြန္ပ်ဳတာ ပရိုုဂရမ္ဘာသာစကားေတြလိုုမ်ဳိး Rule (ဥပေဒသ)ေတြကိုုလုုိက္နာဖိုု ့မလိုုပါဘူး။ သူ ့မွာလဲ ေနရာေဒသ အဖြဲ ့အစည္းအလိုုက္ စံေတြကလဲကြဲျပားပါတယ္။ တေက်ာင္း တကာထာလိုု ေပါ့။ သူက တကယ့္ေပါ့ေပါ့ပါးပါး လြတ္လြတ္လပ္လပ္ရွိတဲ့ ဘာသာစကား ကုုဒ္ပါပဲ။ သူက တကယ့္ artificial & informal language ပါ။ ျပီးေတာ့ Text base system နဲ ့ေရးပါတယ္။ လူနားလည္ဖိုု ့စာသားနဲ ့ပဲေရးေလ့ရွိပါတယ္။ ေအာက္က ဥပမာ ပရိုုဂရမ္ေတြ ေလ့လာတဲ့အခါ နားလည္သြားပါလိမ့္မယ္။  သူက အမွန္တကယ္ေတာ့ system တခုုရဲ detail (algorithmic) design tool တခုုပါပဲ။ Pseudo code ကိုုဖတ္ျပီး က်ေနာ္တုုိ ့Control Flow (ပရိုုဂရမ္ ဘာျပီးရင္ဘာလုုပ္မယ္ဆိုုတဲ့ ပရိုုဂရမ္ရဲ ့လုုပ္ေဆာင္ပုုံ) ေတြကိုုေရးသားပါတယ္။ သူကိုုေတာ့ တကယ့္ပရိုုဂရမ္ေရးသားရမွာ မသုုံးၾကေတာ့ပါဘူး။ (သုုံးတဲ့အဖြဲ ့စည္း ပုုဂၢိဳလ္ေတြလဲပဲရွိတန္ေကာင္းပါရဲ ့) ။ပရိုုဂရမ္မာေတြ အစည္းအေ၀းတိုု ့ အခ်င္းခ်င္း တစ္ေယာက္နဲ ့တစ္ေယာက္ ပရိုုဂရမ္ရဲ ့ flow ကိုုခ်ျပရမွာေတာ့ အၾကမ္းသုုံးတာေတြ ေနာက္ျပီး ကိုုယ့္ဖာသာကိုု စဥ္းစားမိတာေတြကိုု ဒီတုုိင္းခ်ေရးတာေတြေလာက္ေပါ့။ ကဲ ဒီေလာက္ဆိုု အၾကမ္းမ်ဥ္းနားလည္ေလာက္မယ္ထင္တယ္ အဲဒါဆိုု ေအာက္က ဥပမာေတြေလ့လာျပီး သေဘာေပါက္နုုိင္မွာပါ။

Example (1) Checking a number positive or not? ( ဂဏန္းတခုုကိုု အေပါင္းလား ဒါမွမဟုုတ္ အေပါင္းမဟုုတ္ဘူးလားစမ္းသတ္မယ္ ( အနွုုတ္လိုု ့မဆိုုလိုုပါ) အေပါင္းမဟုုတ္တဲ့ ဂဏန္း ၾကိဳက္တာျဖစ္) စမ္းတဲ့ ပရိုုဂရမ္ေလးကိုု ၾကည့္ၾကရေအာင္ပါ။

begin
accept A;
if   A > 0 then
display   “Positive Number”;
endif;

end

ဒီေနရမွာ ပရိုုဂရမ္ကိုု Begin နဲ ့စျပီး end နဲ ့အဆုုံးသတ္ထားပါတယ္။တခ်ဳိ ့က လုုံး၀ Capital Letter နဲ ့ေရးၾကတယ္ BEGIN END အဲလိုု ေပါ့။ ဒါက ကိုုယ့္သေဘာပဲ။ မ်ဥ္းတားတာလဲ ကိုုယ့္သေဘာပဲ။ ဒါေပမယ့္ ကိုုယ့္ေက်ာင္းက ဘယ္လိုုေရးမွ အမွတ္ေပးမယ္ဆိုုရင္ေတာ့ တမ်ဳိးေပါ့ သိတဲ့အတုုိင္းျမန္မာ ေက်ာင္းေတြ တကၠသိုုလ္ေတြက သိပ္ကေလးဆန္တုုံးခုုထိ။ ဒီေနရမွာအေရးၾကီးတာ ပရိုုဂရမ္တခုုကိုုေရးတဲ့အခါမွာ အစရွိသလိုု အဆုုံးသတ္ပါရမယ္ဆိုုတာ သိရမယ္။ ေနာက္ျပီး   accept A; လိုု ့ေရးထားတာ သတိထားမိမယ္ထင္တယ္ A ဆိုုတဲ့ variable  အခန္းေလး တစ္ခုုလက္ခံလိုုက္တာပါပဲ။ တကယ့္ပရိုုဂရမ္မွာဆိုုေတာ့ရင္ေတာ့ Int A  ဆိုုျပီးလက္ခံမွာေပါ့ ။ ဆုုိလိုုခ်င္တာက လူက  A ဆိုုတဲ့ အခန္းေလးထဲကိုု ဂဏန္းတခုုခုုရိုုက္ထည့္လိမ့္မယ္။ အဲဒါကိုု လက္ခံဖိုု ့ေျပာတဲ့သေဘာပါ။ ျပီးေတာ့ if ဆိုုတဲ့ conditional logic နဲ ့စစ္ပါတယ္ ။ if ဆိုုတာက ပရိုုဂရမ္းမင္းမွာ အကယ္ ရြယ္ ျဖစ္ခဲ့ရင္ ေအာက္က အလုုပ္ကိုုလုုပ္မယ္ မျဖစ္ခဲ့ရင္ မလုုပ္ဘူးလိုု ့အဓိပၺါယ္ရပါတယ္။ က်ေနာ္ တုုိ ့ဒီေန ရမွာ A ထဲကိုု ရိုုက္ထည့္တဲ့ ဂဏန္းက 0 ထက္ ၾကီးသလား ဆိုုျပီး စစ္ထားတယ္။ ျပီးေတာ့ တကယ္လိုု ့ၾကီးခဲ့ရင္ ေအာက္မွာ display ဆိုုျပီး Positive Number ဆိုုတဲ့ message ေလးရိုုက္ထုုတ္ျပထားတယ္။ ျပီးေတာ့ end if ဆိုုျပီး if ကိုုျပန္ပိတ္ထားတာ သေဘာေပါက္မယ္ထင္ပါတယ္။ ဂဏန္းပါ 0 ထက္သာ ငယ္ခဲ့မယ္ဆိုုရင္ ပရုုိဂရမ္ဟာ ဘာမွမလုုပ္ဘဲ ျပန္ထြက္သြားမွာပါ။ ဒါ အရိုုးရွင္းဆုုံး ပရိုုဂရမ္ေလး တခုုပါပဲ။

အဲေတာ့ if အတြက္ ေ၇းတဲ့ပုုံက ဒီလိုုေပါ့။

if <condition> then
          [Module A]
endif;
တကယ္လိုု ့မ်ား ( ဒါျဖစ္ခဲ့ရင္ ) ေအာက္က

ကိုုယ္ခိုုင္းခ်င္တဲ့ အလုုပ္ လုုပ္ပါ
ျပီးရင္ထြက္

ကဲ ေနာက္တခုု ထပ္ျပီး ေလ့လာၾကည့္ရေအာင္
Example 2

begin

accept A;         /* input an integer */
if A/2 =0 then
display “Even Number”;
else 
display “Odd Number”;
endif;
end

အထက္ က သေဘာတ၇ားလိုုပါပဲ ပရိုုဂရမ္ကိုု စတယ္ ျပီးေတာ့ Aထဲကိုု ဂဏန္းလက္ခံတယ္ အဲေနာက္ မွာ ေရး ထားတာက ( /*  comment */) comment ပါ ကိုုယ္က ပရိုုဂရမ္ေရးတဲ့ အခါ ျပန္ဖတ္တဲ့အခါ နားလည္ေအာင္ မွတ္မိေအာင္ မွတ္ခ်က္ေ၇းထားတာပါ ဒါက ဘာလဲဆိုုတာကိုု ဒီေလာက္ထိက လြယ္ေသးလိုု ့အရမ္း အဆင့္ျမင့္ျပီးရွုုတ္ေထြးလာရင္ အဲလိုုေရးထားမွ အမွားျပင္တဲ့အခါ ျပန္ၾကည့္တဲ့အခါ နားလည္နုုိင္မွာ။ ျပီးေတာ့ တစ္ေယာက္နဲ ့တစ္ေယာက္ကေရးသားတဲ့ ပုုံစံမတူၾကေတာ့ အဲလိုု မွတ္ခ်က္ေလးပါမွ အဆင္ေျပတာ။ ဒါေၾကာင့္ ဒါဟာ အေလ့က်င့္ေကာင္းတခုုပဲ။ သူကိုုယ့့္ ကြန္ပ်ဳတာက က execute လုုပ္တဲ့အခါမွာ ထည့္ျပီးမလုုပ္ဘူး သူ က အဲလိုု (/* */ ) ေလးျမင္တာနဲ ့ ဒါ comment မွန္းသိတယ္ေက်ာ္သြားေပးတယ္။

တကယ္လိုု ့A ထဲ ကိုုေရာက္ေနတဲ့ ဂဏန္းဟာ 2 နဲ ့စာလိုု ့ျပတ္ရင္ အၾကြင္း 0 ရရင္ ဒါ even number ဆိုုျပီး ျပထားတယ္။ ရင္ပရိုုဂရမ္တုုန္းကလဲ ၾကီးရင္  Positive လိုု ့စစ္ထားတယ္ ေနာ္ မဟုုတ္ရင္ထြက္သြားတယ္။ ခုုက အဲလိုုမဟုုတ္ေတာ့ဘူး ။ တကယ္လိုု ့စားလိုု ့0 မၾကြင္းရင္ စားလိုု ့မျပတ္ရင္ else  (တကယ္လိုု ့မ်ား မဟုုတ္ခဲ့ရင္ ) odd  number   ဆိုုျပီးရိုုက္ထုုတ္ျပထားတယ္။

ကဲ ေနာက္တပုုဒ္ေလ့လာၾကည့္ရေအာင္

Example 3

begin
accept A;
if  A> 0 then
display “Positive Number”;
else if  A < 0 then

display “Negative”;
else

display “Zero”;
endif;

ကဲ ဒီ ပရိုုဂရမ္ေလးမွာေတာ့ အဆင့္ေလး တဆင့္ပိုုလာခဲ့တယ္ elseif
တကယ္လိုု ့မ်ား A ဟာ 0 ထက္ၾကီးရင္ ပရိုုဂရမ္ဟာ Positve ကိုု ျပျပီး ထြက္သြားမယ္။ အဲ 0  ထက္မၾကီး ဘူးဆိုုရင္ ေအာက္ကိုု ဆက္ျပီးဆင္းလာတယ္ 0 ထက္ေကာ ငယ္သလားလိုု ့စစ္တယ္ 0 ထက္ငယ္ရင္ေတာ့ Negative ျပျပီးထြက္မွာပါ။ မငယ္ဘူးဆိုုရင္ ထပ္ျပီးစစ္လိုု ့၇ေသးတယ္ else if ေတြအမ်ားၾကီးနဲ ့ ဒါဆိုု အေပၚက ပရိုုဂရမ္ပါထည့္လိုု ့ရေသးတယ္ A က 2 နဲ့ေကာ စားလိုု ့ျပတ္လားေပါ့ ျပတ္ရင္ေတာ့ ကိုုယ့္ျပခ်င္တဲ့ message ထည့္ျပ။ ဆိုုလိုုခ်င္တာ else if  ေတြ တစ္ေၾကာင္းထပ္မက စစ္လိုု ့ရေသးတယ္လိုု ့ဆိုုလိုု တာ။ ေနာက္ဆုုံးပ else က အေပၚကဟာေတြ တခုုမွမဟုုတ္ ခဲ့ရင္ Zero ဆိုုျပီး ျပမွာေလ ။ ေသခ်ာ ျပန္ စဥ္းစားၾကည့္ 0 ထက္ၾကီးရင္ Positive ပဲျပီးျပီ ။ ဘာမွဆက္လုုပ္စရာမရွိဘူး။ တကယ္လိုု ့0 ထက္မၾကီးဘူးဆိုု ရင္ သူက ငယ္ေသးလားေပါ့ ငယ္ရင္လဲ Negative ျပျပီး ျပီးျပီ။ အဲဒါေတာင္ မွ မၾကီးလဲမၾကီး မငယ္လဲ မငယ္ရင္ ဘာျဖစ္ရအုုံးမွာလဲ ေသခ်ာတယ္ ညီေနလိုု ့ေပါ့။ ေနာက္ဆုုံးအေျခအေန မွာ  else ကိုုသုုံးတယ္ နားလည္ေလာက္မယ္ထင္တယ္

ဒါက ကိုုယ့္ဖာသာကိုု A ထ႕ဲကိုု ဘာထည့္မွန္းမသိလိုု ့ကိုုယ့္ဖာသာ A ထဲကိုု ယူဆာထည့္တာမခံဘဲ ကိုုယ့္ဖာသာ default ထည့္ထားလိုု ့လဲရတာပဲ

ကဲ ဒါဆိုု Mark ဆိုုတဲ့ ထဲကိုု အမွတ္ထည့္မယ္ ျပီးရင္ 40 ထက္ၾကီးရင္ ေအာင္တယ္ 40 ထက္ငယ္ရင္ က်မယ္။ ကိုုယ္ၾကိဳက္သလိုု နည္းနဲ့ ေရးလိုု ့ရတယ္ အေျဖက အတူတူပဲထြက္ရမယ္။
ေနာက္ အမွတ္ကိုု ယူဆာဆီက ေတာင္းျပီးရင္ ၄၀ ကေန ၆၄ ၾကားဆိုု သာမန္ ေအာင္ “pass” ၆၅ ကေန ၈၄ ထိ credit ၈၅ ကေန အထက္ကိုု D ေပးမယ္ အဲဒါေတြတခုုမွမဟုုတ္ ရင္ဘာလဲ က်မယ္ေပါ့။ ကိုုယ့္ဖာသာ စမ္းေရးၾကည့္ပါ။ ျပီးရင္ yepaingphyo7035@gmail.com ကိုု ျပန္ပိုု ့လိုုက္ပါ က်ေနာ္ ၾကည့္ေပးပါ့မယ္ မွန္မမွန္ေပါ့။

အျခား conditional logic ေတြရွိပါေသးတယ္ ဒီေန ့ေတာ့ ဆူဒိုုကုုဒ္ဆိုု တာ ဘာ ျပီးေတာ့ if, else if , else ကိုုနားလည္မယ္ထင္ပါတယ္ တကယ္လိုု ့မ်ားအခ်ိန္ရခဲ့ရင္ Case statement ,while, do while စတာေတြ တင္ျပသြားေပးပါ့မယ္။ နားမလည္တာမ်ားရွိခဲ့ရင္ လဲ  yepaingphyo7035@gmail.com ကိုု တုုိက္ရိုုက္ဆက္သြယ္ ေမးျမန္နုုိင္ပါတယ္။

Categories: Uncategorized