Friday, April 24, 2015

AutoRedialer


ဒါက Ko NyiNyi မေန႕က ေမးထားတဲ႕ Action ပါ
သူေပးထားတဲ႕ Rar ကို ျဖည္မရမလို႕ အသစ္ေရးေပးလိုက္ပါတယ္။
http://pc.cd/L6u7
AutoRedial လုပ္ဖို႕အတြက္က ဒီ Actionမွာ ထူးထူးျခားျခား Object ေတ သံုးစရာေတာ့ မရွိပါဘူး
ဒါေပမဲ႕ နည္းနည္းေတာ့ ေခါင္းရွဳပ္လိမ့္မယ္။
Redial လုပ္တဲ႕အခါ Incomming call ေတ၀င္လာရင္ Service ကို ရပ္ထားရပါမယ္။
Redial လုပ္တဲ႕အခါ ဘႏွခါ အထိ Redial လုပ္မွာလည္းဆိုတာကို limit သက္မွတ္ေပးရပါမယ္။ limit ျပည့္တဲ႕အခါ service ကို ရပ္ရပါမယ္။
Redial လုပ္တဲ႕အခါ limit မျပည့္ေသးေပမယ့္လည္း
stateက OFFHOOK ျဖစ္ေနတဲ႕ အခ်ိန္ကို ၾကည့္ရပါမယ္။ ၾကာခ်ိန္က ဖုန္းကိုင္းပီးပီလို႕ ယူဆလို႕ ရေလာက္တဲ႕ ၾကာခ်ိန္မ်ိဳးျဖစ္ေနရင္ ဆက္ပီး Redial မလုပ္သင့္ေတာ့ပါဘူး။service ကိုရပ္ရပါမယ္။
ဒီ Action ေတအတြက္ Example ကို ဒမာပဲေရးတင္ေပးလိုက္ပါတယ္

Phone Events


ဒီ Lesson ကလည္း အေရးပါတဲ႕ အေၾကာင္းတခုျဖစ္လိမ့္မယ္။ ဒီမွာက
Phone lib မွာ ပါတဲ႕ PhoneEvents ကို ေျပာမွာပါ။ ဖုန္းတလံုးမွာ ေျပာင္းလဲေနတဲ႕ Status ေတကို Listen လုပ္ႏိုင္တဲ႕ Events ေတကို ဖန္တီးေပးပါတယ္။
သူ႕ကို Phone Lib ကေန ယူႏိုင္ပီးေတာ့
Dim pe As PhoneEvents အာ့လိုမ်ိဳး Declare လုပ္ယူႏိုင္ပါတယ္။
Initialize လုပ္တဲ႕အခါ ႏွစ္မ်ိဳး ရွိပါတယ္။
pe.Initialize("Event အမည္") ဒါနဲ႕
pe.InitializeWithPhoneState("Eventအမည္" , Phone Id ) ဒါပါ။
ရိဳးရိဳးနဲ႕ initialize လုပ္ရင္ေတာ့
က်န္တဲ႕ Event ေတကို listen လုပ္ႏိုင္ေပမဲ႕ Phone အ၀င္ကို Check ႏိုင္တဲ႕ PhoneStateChanged Ebent ကိုေတာ့ Listen မလုပ္ႏိုင္ပါဘူး။
InitializeWithPhoneState နဲ႕ ဆိုရင္ေတာ့ Event ေတအကုန္ Listen လုပ္ႏိုင္မွာပါ။ ဒီ Example မွာေတာ့
withPhoneState နဲ႕ပဲ Initialize လုပ္ပါမယ္။
အခု Example မွာ service Module ကိုပါ သံုးထားပါတယ္။ Service module က Background မွာ run ႏိုင္ပါတယ္။ Activity ေတကေတာ့ app ကို ဖြင့္ထားတုန္းပဲ run တာပါ။ back ျပန္ထြက္လိုက္ရင္ ရပ္ကုန္ပါတယ္။ ဒါေၾကာင့္ Event ေတကို listen လုပ္ဖို႕အတြက္ abc အမည္နဲ႕ Service Module တခုကို ထည့္သံုးထားပါတယ္။
Dim PE As PhoneEvents
Dim PI As PhoneId
ပီးေတာ့ Initialize လုပ္တဲ႕အခါ
PE.InitializeWithPhoneState("PE" , PI)
ဒလိုလုပ္ပါတယ္။
ပီးရင္ေတာ့ ေအာက္မွာ Event ေတကို Listen လုပ္ႏိုင္ပါပီ။

AirplaneModeChanged (State As Boolean, Intent As Intent)
ဒါက FlightMode ပြြင့္ေနလား ပိတ္ေနလားဆိုတာကို Listen လုပ္ပါ။

BatteryChanged (Level As Int, Scale As Int, Plugged As Boolean, Intent As Intent)
ဒါကေတာ့ Battery Status ကို listen လုပ္ပါတယ္။

ConnectivityChanged (NetworkType As String, State As String, Intent As Intent)
ဒါက Connection ဖြင့္/ပိတ္ ထားလားဆိုတာကို Listen လုပ္ႏိူင္ပါတယ္။

DeviceStorageLow (Intent As Intent)
Storage low ျဖစ္ေနတဲ႕အခ်ိန္မွာ ေပၚလာမယ့္ Event ေပါ့

DeviceStorageOk (Intent As Intent)
ဒါက Storage Ok ေနတဲ႕ အခ်ိန္

PackageAdded (Package As String, Intent As Intent)
app တခု Install လုပ္လိုက္တဲ႕အခ်ိန္မွာ ေပၚလာမယ့္ Event ပါ

PackageRemoved (Package As String, Intent As Intent)
ဒါက app တခု ျဖဳတ္တဲ႕အခါေပါ့

PhoneStateChanged (State As String, IncomingNumber As String, Intent As Intent)
ဒါက ဖုန္း Call state ေျပာင္းသြားတဲ႔အခ်ိန္ ျဖစ္လာမယ့္ Events

ScreenOff (Intent As Intent)
ဒါက screen off တဲ႕အခါ

ScreenOn (Intent As Intent)
ဒါက screen on တဲ႕အခါ

SmsDelivered (PhoneNumber As String, Intent As Intent)
message ပို႕လို႕ delivered ျဖစ္သြားရင္ ေပၚလာမယ့္ Events


SmsSentStatus (Success As Boolean, ErrorMessage As String, PhoneNumber As String, Intent As Intent)
ဒါက message status ကို ျပမွာ

Shutdown (Intent As Intent)
ဒါကေတာ့ Shutdown လုပ္ရင္ ျဖစ္လာမယ့္ Event ပါ။
ဒလိုမ်ိဳး အထက္က အတိုင္း Event ေတကို ထည့္သြင္းပီး Program တခု ဆီ run ခိုင္းလို႕ရပ္တယ္။
example ထဲမွာေတာ့ message ေလးေတနဲ႕ပဲျပထားပါတယ္။
ဥပမာ
AirplaneModeChanged (State As Boolean, Intent As Intent)
ဒီ Event ကိုသံုးမယ္ေပါ့
Sub PE_ AirplaneModeChanged (State As Boolean, Intent As Intent)
ToastMessageShow(" Filght mode " & State , False)
End Sub
ဒလိုေလးေပါ့
စမ္းၾကည့္လိူက္ပါ
example : http://pc.cd/wGj7

Code Layout


Code Layout Example
without LoadLayout("bal")
http://pc.cd/flS7


Spinner 2

Spinner ကို ေျပာျပပီးေလာက္ပီ ထင္ပါတယ္ ေျပာပီးလည္း ထက္ေျပာတယ္မွတ္ေပါ့။
Spinner ကလည္း Designer ကေန ထည့္သံုးႏိုင္တဲ႕ View တခုပါပဲ။ ListView လိုမ်ိဳး List ေတပါ၀င္ပီးေတာ့ ItemClick Event တခုလည္းပါပါတယ္။ Menu သေဘာလည္း သံုးလို႕ရပီးေတာ့ Custom Dialog မသံုးတတ္ေသးရင္ သူနဲ႕အဆင္ေျပမွာပါ။
ဟိုေနက ခလုပ္တခုကို ႏွိပ္ပီးမွာ ဖုန္းေခၚမယ့္ လူစာရင္းကို ထက္က်ေအာင္ လုပ္ခ်င္တယ္ ဆိုလို႕ ဒီ Action ကို Spinner နဲ႕ အလြယ္ လုပ္ျပထားတာပါ။
ပံုမွာ ျမင္ႏိုင္ပါတယ္ Example Zip မွာလည္း ၾကည့္ႏိုင္ပါတယ္။
http://pc.cd/QLS7


warning


ေရွ႕တက္လာရင္းနဲ႕
ေနာက္ Project ေတမွာ Designer ကို မသံုးေတာ့ပါဘူး။ အခုေလာကိဆိုရင္ Designer ကို ေကာင္းေကာင္းသံုးတတ္ေနေလာက္ပါပီ။ ဒီေတာ့ .bal ေတမသံုးေတာ့ပဲ Code သီးသန္႕နဲ႕ layout ေတလုပ္ပီး သံုးပါေတာ့မယ္။
Dialog ေတနဲ႕ တျခား Designer ကေနယူသံုးမရတာေတ အမ်ားႀကီးရွိပါေသးတယ္။ဒါေၾကာင့္ Code layout ေတကို ပဲ သံုးပါေတာ့မယ္။
Button ကေန ျပန္စရမယ့္ ပံုေတာ့ မဟုတ္ေလာက္ဘူး ထင္ပါတယ္ေနာ္ ?

FTP File Transfer


Net Library: http://pc.cd/UQS7
Example : http://pc.cd/z8S7
ဒီမွာ Download ယူသံုးပံုကို ေျပာျပေပးထားပါတယ္
ဒီထဲမွာေတာ့ မေရးေတာ့ဘူးေနာ္ example ထဲမွာ တေၾကာင္းျခင္းကို ေရးျပေပးထားလို႕ပါ။
app ေတ ဥပမာ သီးခ်င္း app ေတ Ringtone app ေတမွာ ဆိုရင္ သီးခ်င္ ဖ်ုင္ေတအတြက္ app မွာ ေနရာ တအားယူသြားပါလိမ့္မယ္။ Upload တင္ရတာလည္း ခက္ခဲပီးေတာ့ သံုးရတဲ႕သူအတြက္လည္း app Size ႀကီးတာေၾကာင့္ ခက္ခဲေစမွာပါ။ဒီေတာ့ မိမ်ိရဲ႕ data ေတ ဒါမွမဟုတ္သီခ်င္းေတကို Server ေပၚမွာပဲ ထားပီးေတာ့မွ
လိုတဲ႕ဟာကို sdcard ထဲ download ခ်ပီး သံုးေစမွာပါ။
အခု example မွာ Button တခုကို Media player နဲ႕ eg.mp3 ကို download ယူပီး play ၾကည့္ထားပါတယ္။
Upload ကေ့တာ့ မိမိဘာသာ ႀကိဳတင္ တင္ထားဖို႕လိုမွာပါ။ က်ေနာ္ကေတာ့ အာ့မွာ က်ေနာ့္ အေကာင့္နဲ႕ နမူနာျပေပးထားပါတယ္။အာ့ အေကာင့္ကို သံုးလိုကလည္း ဆက္သံုးႏိုင္ပါတယ္။ မိမိဘာသာ
freewebhostingarea.com မွာလည္း အေကာင့္လုပ္ယူပီး
Filemanager ထဲမွာ Upload တင္သံုးႏိုင္ပါတယ္


Sunday, April 12, 2015

Date and Time

.ဒီမွာ Date နဲ႕ Time ကို ဘလို Get မလည္း ?
လြယ္လြန္းလို႕ Example မေပးခဲ႕ေတာ့ဘူး ေနာ္ ပံုပဲ ၾကည့္လိူက္ပါ။