Wednesday, June 13, 2012

Android Action

ဒီနေ့ စနေနေ့က အလုပ်ဆင်းထားပါသဖြင့် အစားနားရပါသည်။ တနေကုန်စာရေးလိုက်၊ စာဖတ်လိုက်နဲ့ အလုပ်ရှုပ်နေခဲ့ပါသည်။ ကျွှန်တော်သည် တစ်ခုတည်းလုပ်ရတာ ၂နာရီထက်ကြားလာလျှင် ပျင်းလာတတ်ပါသည်။

ကွန်ပျူတာကို ကျွှန်တော်နှစ်သက်ခြင်းသည် အဲ့ဒီကိစ္စလည်းပါမည် ထင်သည်။ သူ့မှာ ပျင်းစရာမရှိ။ လေ့လာမယ်ဆိုရင် တကယ်ကို လေ့လာစရာမကုန်။ Web, Desktop, Mobile, Java, Security, Python, Linux အစရှိသဖြင့် လေ့လာရမည် ဆိုလျှင်ကုန်မည်မဟုတ်။ ဒါကြောင့်လည်း ကျွှန်တော်သည် ကွန်ပျူတာနဲ့ တွေ့တော့မှပဲ စိတ်ငြိမ်ရတော့ပါသည်။

ဒီနေ့ ညနေပိုင်းတွင် စာရေးရတာ စိတ်ပင်ပန်းလာပါသဖြင့် Eclipse ကို ဖွင့်၊ ပြီးခဲ့သော အပတ်က ရေးထားခဲ့သော Android ပရိုဂျက်ကို ပြန်ဖွင့်ပါသည်။ ဘာတွေပါလဲပေါ့။



Source Folder အနေနဲ့ src နဲ့ gen ကို တွေ့ရပါသည်။ Java Source တွေကို src ထဲမှာ ရေးရမှာဖြစ်ပြီး၊ gen ထဲမှာကတော့ သူ့အလိုလို ရေးပေးတဲ့ ကုဒ်တွေကို ထားရမှာဖြစ်တယ်ဆိုတာ သိလိုက်ရပါသည်။

ပြီးတော့ folder များအနေနဲ့ assets, bin, rest တို့ကို တွေ့ရသည်။ assets ဆိုတာဘမှန်း မသိသော်လည်း၊ bin ဆိုတာက binary ဖြစ်တဲ့အတွက် class တွေက ဒီနေရာမှာ ထွက်လိမ့်မည်၊ ပြီးတော့ res ဆိုတာကတော့ resource ရဲ့ အတိုကောက်ဖြစ်မည် ဟု တွေးမိပါသည်။

ဒါနဲ့ res ထဲကိုဖွင့်ကြည့်သည်။ drawable-hdpi, drawable-ldpi, drawable-mdpi, drawable-xhdpi, layout နှင့် values တို့ကိုတွေ့ရပါသည်။ drawable တွေက ဘာတွေမှန်းမသိ။ နောက်မှလေ့လာပါမည်။ layout ဆိုတာကို စိတ်ဝင်စားသွား၍ ဖွင့်ကြည့်သည်။ main.xml ကို တွေ့ရပါသည်။ ဒါနဲ့ double click နှိပ်ပြီး ဖွင့်ကြည့်သည်။ GUI လေးအောက်ဒီဇိုင်းနာ ကိုတွေ့ရပါသည်။ GUI တွေကို လွယ်လွယ်ကူကူ ဒီမှာရေးလို့ရမှာပဲဟု။ Swing ကို Eclipse Windows Builder ဒါမှမဟုတ် Netbeans တို့နဲ့ ရေးဘူးသူဆိုပါက အခက်အခဲရှိမည် မဟုတ်။

ချက်ချင်းဆိုသလို TextView နှစ်ခု EditText တစ်ခုနဲ့ Button တစ်ခုကို ရေးကြည့်သည်။ Component အပေါ်မှာ ညာကလစ်နှိပ်ပြီး ဘာလုပ်လို့ရလဲဟုကြည့်သည်။ Edit Text ကို တွေ့ရသဖြင့် ဖွင့်ကြည့်သည်။ Text တွေကို Resource ဖြင့် Mapping လုပ်နေတာကို တွေ့ရသည်။ ဒါနဲ့ မပြောင်းလည်းမယ့် Text တွေကို Project Resource နဲ့ Map လုပ်သည်။ values ဖိုလဒါထဲက string.xml မှာ value အသစ်တွေကို အလိုအလျှောက်ရေးနိုင်သည်ကို တွေ့ရပါသည်။

ဒါနဲ့ input လဲရေးပြီးပြီ၊ button လည်းရေးပြီးပြီ၊ action ကို ဘယ်လိုရေးမလဲ ဟုသွားကြည့်ပါသည်။ ယခင်ရေးခဲ့သော YawanaActivity.java ကို ပဲပြန်ပြင်ရေးရမည် ဟုထင်ပါသည်။

public class YawanaActivity extends Activity {
 
    private Button button1;
    private EditText editText1;
    private TextView textView2;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        this.initView();
    }
    
    private void initView() {
     this.button1 = (Button) this.findViewById(R.id.button1);
     this.editText1 = (EditText) this.findViewById(R.id.editText1);
     this.textView2 = (TextView) this.findViewById(R.id.textView2);
     
     this.button1.setOnClickListener(new OnClickListener() {
   
   public void onClick(View arg0) {
    textView2.setText("Hello " + editText1.getText());
   }
  });
    }
}

အထက်ပါအတိုင်း onCreate ထဲတွင် setContentView ဟု view တွင် ရေးထားသော R.layout.main ကို ရေးသားစေပါသည်။ View ကို ရေးသည့်အခါတွင် အလိုအလျှောက် ရေးသားခံခဲ့ရသော Java Class တစ်ခုဖြစ်ပြီး၊ အချက်အလက်များကို static အနေဖြင့် သိမ်းထားပါသည်။ လောလောဆယ်တော့ main ကို အသုံးပြုလိုသဖြင့် ဤကဲ့သို့ရေးသားလိုက်ပါသည်။

ပြီးလျှင် ကျွှန်တော်ရေးသားထားသော Button ကို Event နဲ့ ပူးပေးရပါမည်။ Swing မှာဆိုလျှင် addListiner ဘာညာပေါ့ ဆိုပြီး codeAssit နဲ့ ရှာကြည့်သည်။ setOnClickListener ကို တွေ့ရသည်။ ဒါပဲပေါ့။ ဒါနဲ့ OnClickListener ကိုပဲ ဒီအတိုင်း new လုပ်ပါသည်။ ပြီးလျှင် override လုပ်ရမည့် onClick ကို ဖြည့်စွက်ရေးပါသည်။

Application ကို run ကြည့်ပါသည်။


နမှုနာအပလီ တက်လာပါသည်။ ဒါနဲ့ input ထဲတွင် Min Lwin ဟုရိုက်ပြီး၊ Greet Button ကို နှိပ်လိုက်သည်။ Hello Min Lwin ဟုထွက်လာသည်ကို တွေ့ရသည်။

Swing အတွေ့အကြုံရှိသူ Java ပရိုဂရမ်မာတစ်ယောက်အတွက် Android သည် လေ့လာရ လွယ်ကူပါလိမ့်မည် ဟု ယုံကြည်မိပါသည်။

No comments:

Post a Comment